我已經回答了類似的問題a coupletimes before的:。
,這裏是我以前的答案只需更換與會代表改爲寫入文件。
ProcessStartInfo processInfo = new ProcessStartInfo("Myexe.exe");
processInfo.ErrorDialog = false;
processInfo.UseShellExecute = false;
processInfo.RedirectStandardOutput = true;
processInfo.RedirectStandardError = true;
Process proc = Process.Start(processInfo);
// You can pass any delegate that matches the appropriate
// signature to ErrorDataReceived and OutputDataReceived
proc.ErrorDataReceived += (sender, errorLine) => { if (errorLine.Data != null) Trace.WriteLine(errorLine.Data); };
proc.OutputDataReceived += (sender, outputLine) => { if (outputLine.Data != null) Trace.WriteLine(outputLine.Data); };
proc.BeginErrorReadLine();
proc.BeginOutputReadLine();
proc.WaitForExit();
在您的特定情況下,請不要忘記從命令行中刪除「> C:\\mydir\\test.txt
」。
您是否有任何證據表明Perl腳本能正常運行?如果是這樣,我懷疑這確實是一個C#問題。否則,我會首先驗證Perl腳本是否正確。 – 2011-05-03 18:34:19
perl腳本是正確的,因爲如果我使用命令行執行它,它的工作原理。 – CSharpTag 2011-05-03 18:42:51