c:\にバッチファイルがあります。ダブルクリックして実行すると、すべて正常に動作します。
バッチファイルが行うのはこれだけです。
1)同じディレクトリで.exeを実行します。2)出力を同じディレクトリ内のテキストファイルにリダイレクトします。
.batには
parse.exe > "temp.txt"
しかし、C#でバッチファイルを実行すると、temp.txtがまったく作成されません(バッチファイルはもちろん実行されているようです)。
次のC#コードを使用しました。
Process p = new Process();
// Redirect the output stream of the child process.
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.FileName = "c://resource//auto.bat";
p.Start();
// Read the output stream first and then wait.
string output = p.StandardOutput.ReadToEnd();
p.WaitForExit();
どこが間違っているの?事前に感謝します。
編集
バッチファイルを次のように変更すると、
parse.exe> "temp.txt"の代わりにparse.exe>"c:\ temp.txt"
一時ファイルが作成されます。ただし、parse.exeの出力は含まれていません。