2011-06-17 14 views
-7

は私がなぜc#console appはファイルへのリダイレクトをサポートしていませんか?

myconsoleapp.exe arg1 arg2 arg3 > output.txt 

んC#のコンソールがリダイレクトをサポートして、出力をファイルにリダイレクトしようとする場合を除き、それは作品の古典的なコンソールアプリケーション

static void Main(string[] args) 
    { 

を作成しましたか?

+7

何をして動作しませんか? – Oded

+3

フルコードをお知らせください。何をstdoutで書いていますか? – Dyppl

+1

どうやって書きますか? Console.WriteLineは標準出力に行き、リダイレクトが機能します。 –

答えて

1

あなたは以下のクラス構築する場合:あなたのコードは、異なる出力を行う場合は、コンテンツ

Hello World! - test 

でファイルtest.txtというの取得

class Program 
{ 
    static void Main(string[] args) 
    { 
     Console.WriteLine("Hello World! - {0}", args[0]); 
    } 
} 

をして

app.exe test > test.txt 

を実行します執筆者は、自分の出力方法を書いてください。

0

これ以上の情報がなければ、問題を理解するのは難しいです。私が考えていたのはおそらく、System.Diagnostics.Debug.WriteLineを使ってデバッグコンソールに書き込んでいるということでした。この場合、出力を同じ方法でリダイレクトすることはできません。

1

メッセージがSTDOUTではなくSTDERRに送信されている可能性があります。その場合は、別の方法でリダイレクトする必要があります。 Microsoftの指導(http://support.microsoft.com/kb/110930)から:

あなたはSTDOUTにSTDERRのために出力 をリダイレクトする 「& 1」コマンドを使用して、その後 出力を送信することにより、単一のファイルにエラーと標準 出力を印刷することができます

ファイルへのSTDOUTから:

dir file.xxx 1> output.msg 2>&1

それとも、あなたは1つの の場所に出力され、別のエラーをリダイレクトすることができます。

dir file.xxx > output.msg 2> output.err

関連する問題