Process クラスを使用して、次のように WPF C# アプリケーションで (Putty から) pscp.exe を実行します。
Process p = new Process();
p.StartInfo.FileName = "pscp.exe";
p.StartInfo.Arguments = "-v -scp -pw xx toto@192.168.0.1:/path .";
p.Start();
p.WaitForExit();
プロセスはコマンド プロンプトを開き、正しく終了します。問題ありません。
ここで、プロセスの stderr ファイルにログインしたいと思いますが、問題ありません。
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardError = true;
ファイルにストリームを出力しますが、シェルには何も表示されません (これはリダイレクトです)。
私のニーズは、シェルにstderrを表示し、それをログファイルにコピーすることです(リダイレクトなし、2回必要でした)。
編集:私のニーズを表す明確な例:この関数を呼び出す1つのボタンを持つWPFアプリケーションを想像してください:
Process p = new Process();
p.StartInfo.FileName = "pscp.exe";
p.StartInfo.Arguments = "-v -scp -pw xx toto@192.168.0.1:/path .";
p.Start();
p.WaitForExit();
プロセスは cmd プロンプト (stdout + stderr を出力) で始まり、同時に stderr がログ ファイルに出力されます。
これを行うアイデアはありますか?