2016-11-22 3 views
0

windows-redirectingに関連する質問はたくさんありますが、この(些細な)動作については何も見つかりません。Windowsでファイルへのリダイレクトが異なる動作をするのはなぜですか?

git-for-windowsの出力をファイルにリダイレクトしたいとします。これらの作品のようなリダイレクト:

$ dir > test.txt 
$ dir test > test.txt 
$ ipconfig /all > t 

est.txt

しかし、この1つの出力端子には、空のファイルを作成します。正しくファイルに

$ java -version > test.txt 

この1つの出力を、しかし、そうでない場合IDE(これはIAR)から呼び出します。

$ git --version > test.txt 

最新のケースは、最も興味深いものですそれともわたし。実行されたプログラムの出力をファイルにリダイレクトするにはどうすればよいですか?

+1

"Javaの-versionは" stderrになります。 –

+0

*実行されたプログラムの出力をファイルにリダイレクトするにはどうすればよいですか?* - そうしないでください。これらの例は両方とも、 'stdout'ではなく' stderr'に書き込むだけかもしれませんが、実際にはコンソールに明示的に書き込むプログラムもあります。これがプログラマーの決定です。それを上書きすることはできません。 –

答えて

0

は、この方法を試してみてください:

git --version > test.txt 2>&1 

origin

+0

ありがとう、これは 'java -version'のために働きます、明らかに' stderr'に行きます。 'git --version'は' stdout'に行きます。直接呼び出すとファイルにリダイレクトできます。 しかし、IDE(IAR)からバッチスクリプトを呼び出すと、*両方のリダイレクトが機能しません。それは空のファイル 'test.txt'を作成するだけです。 – Janos

関連する問題