使用C#中的参数执行.exe文件

时间:2014-09-23 13:35:25

标签: c# .net batch-file

我正在将一些批处理文件自动化到一个C#应用程序中,但没有太多运气。我有以下批处理文件(以及另外3个)我试图用C#

编写
"C:\Program Files\IIS Express\iisexpress.exe" /path:c:\windows\Microsoft.NET\Framework\v4.0.30319\ASP.NETWebAdminFiles /vpath:"/asp.netwebadminfiles" /port:61569 /clr:4.0 /ntlm

以下是我在网上找到的C#代码,但它失败了:

using (Process proc = new Process())
{
    proc.StartInfo.FileName = "iisexpress.exe";
    proc.StartInfo.Arguments = @"/path:c:\windows\Microsoft.NET\Framework\v4.0.30319\ASP.NETWebAdminFiles /vpath:/asp.netwebadminfiles /port:61569 /clr:4.0 /ntlm";
    proc.StartInfo.UseShellExecute = false;
    proc.StartInfo.RedirectStandardOutput = true;
    proc.Start();
    proc.WaitForExit();
    Console.Out.WriteLine(proc.StandardOutput.ReadToEnd());
}

在没有谷歌帮助的情况下,我得到以下信息:

  

“System.ComponentModel.Win32Exception”类型的未处理异常   发生在System.dll

1 个答案:

答案 0 :(得分:4)

您需要向Process.StartInfo.FileName提供exe的完整路径:

proc.StartInfo.FileName = @"C:\Program Files\IIS Express\iisexpress.exe";