以编程方式运行命令行代码

我在windows命令promt中使用此代码运行..但我需要以编程方式使用c#代码完成,请帮忙

C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319> aspnet_regiis.exe -pdf“connection Strings”“C:\ Users \ XXX \ Desktop \ connection string \ DNN”

您可以使用Process.Start方法:

 Process.Start( @"C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe", @"-pdf ""connection Strings"" ""C:\Users\XXX\Desktop\connection string\DNN""" ); 

或者如果你想要更多地控制shell并且能够捕获例如标准输出和错误,你可以使用ProcessStartInfo the overload

 var psi = new ProcessStartInfo(@"C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe") { Arguments = @"-pdf ""connection Strings"" ""C:\Users\XXX\Desktop\connection string\DNN""", UseShellExecute = false, CreateNoWindow = true }; Process.Start(psi); 

您应该能够使用流程执行此操作

  var proc = new Process(); proc.StartInfo.FileName = @"C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe "; proc.StartInfo.Arguments = string.Format(@"{0} ""{1}""" ""{2}""","-pdf","connection Strings" ,"C:\Users\XXX\Desktop\connection string\DNN"); proc.StartInfo.UseShellExecute = false; proc.StartInfo.RedirectStandardOutput = true; proc.Start(); string outPut = proc.StandardOutput.ReadToEnd(); proc.WaitForExit(); var exitCode = proc.ExitCode; proc.Close(); 

试试这个

 ExecuteCommand("Your command here"); 

用进程调用它

  public void ExecuteCommand(string Command) { ProcessStartInfo ProcessInfo; Process Process; ProcessInfo = new ProcessStartInfo("cmd.exe", "/K " + Command); ProcessInfo.CreateNoWindow = true; ProcessInfo.UseShellExecute = true; Process = Process.Start(ProcessInfo); }