運行命令行命令我需要做2件事:運行一個批處理文件(工作正常),並運行一個命令(不起作用)。 該命令的方法會引發異常'未找到文件'。如果我打開一個cmd窗口,並輸入命令,它完美的工作。如何從代碼
private static void Rescan()
{
//System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo("DEVCON ReScan");
//psi.RedirectStandardOutput = true;
//psi.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
//psi.UseShellExecute = false;
//System.Diagnostics.Process proc = System.Diagnostics.Process.Start(psi);
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo.FileName = "DEVCON ReScan";
proc.StartInfo.RedirectStandardError = true;
proc.StartInfo.RedirectStandardOutput = true;
proc.StartInfo.UseShellExecute = false;
proc.Start();
proc.WaitForExit();
System.IO.StreamReader myOutput = proc.StandardOutput;
proc.WaitForExit(4000);
if (proc.HasExited)
{
string output = myOutput.ReadToEnd();
FileIO.WriteLog(_writePath, output);
}
}
註釋的代碼也會引發相同的異常。
我只有1 upvote給。謝謝! – callisto 2009-05-28 08:42:38
由於一些有趣的原因,這是System.Diagnostics.Process和本機ShellExecute(Ex)的常見錯誤,即使它顯然是一個「FileName」參數:) – OregonGhost 2009-05-28 08:45:01