2

C と入力するだけで、コンソールで実行および監視できる C# コンソール アプリケーションがあります。

programName.exe

次のようにして、これをファイルに書き込むこともできます。

programName.exe > log.txt

しかし、これを行うと、出力が起こっているので表示できません。プログラム全体が終了した後、ログファイルを表示するだけです。

両方を同時に行うにはどうすればよいですか?リアルタイムの stdout と stderr を見たいのですが、それでもそのログ ファイルに書き込みます。C# アプリケーション コードを変更せずにこれを行う方法はありますか?

4

2 に答える 2

2

Windows PowerShell を使用するオプションがある場合は、次のTee-Objectコマンドを使用できます。

programName.exe | tee -file 'log.txt'

これにより、stdout がコンソール ウィンドウと log.txt に同時にリダイレクトされます。stdoutと の両方をリダイレクトする回避策stderrは次のとおりです。

programName.exe 2>&1 | tee -file 'log.txt'

この同様の質問への回答も役立つ場合があります

于 2012-07-17T00:47:45.770 に答える
1

既存のコマンドでこれを実行できるかどうかはわかりません。

ただし、標準入力をコピーしてコンソールとファイルに書き込む簡単な新しいプログラムを作成できます。これがあなたを助けることを願っています。

于 2012-07-17T00:30:57.027 に答える