argsを使用してコマンドpromtプロセスを開始しようとしています。エラーが存在する場合は、エラーに関する情報を取得したいと思います。
someProcess = System.Diagnostics.Process.Start(cmd, someArgs);
よろしく、ロビジ
argsを使用してコマンドpromtプロセスを開始しようとしています。エラーが存在する場合は、エラーに関する情報を取得したいと思います。
someProcess = System.Diagnostics.Process.Start(cmd, someArgs);
よろしく、ロビジ
他の答えは正しいです。使用できるコードは次のとおりです。
ProcessStartInfo startInfo = new ProcessStartInfo(cmd, args);
startInfo.UseShellExecute = false;
startInfo.RedirectStandardError = true;
Process someProcess = Process.Start(startInfo);
string errors = someProcess.StandardError.ReadToEnd();
ファイルが見つからない場合、標準エラーでエラーが発生しないことに注意してください。代わりに例外が発生します。
あなたはおそらくStandardError
プロパティを探しています。
アプリケーションのエラー出力を読み取るために使用されるストリームを取得します。
これはあなたが望むことをするはずです。
ノート
StandardErrorを使用するには、ProcessStartInfo.UseShellExecuteをfalseに設定し、ProcessStartInfo.RedirectStandardErrorをtrueに設定する必要があります。それ以外の場合、StandardErrorストリームから読み取ると例外がスローされます。