Esegui il codice della riga di comando in modo programmatico

Sto usando questo codice eseguito in windows command promt .. Ma ho bisogno di fare questo programmaticamente usando il codice c # per favore aiuto

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

È ansible utilizzare il metodo 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""" ); 

o se si desidera un maggiore controllo sulla shell ed essere in grado di catturare, ad esempio, lo standard output e l’errore, è ansible utilizzare the overload prendendo un ProcessStartInfo :

 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); 

Dovresti essere in grado di farlo usando un processo

  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(); 

prova questo

 ExecuteCommand("Your command here"); 

chiamalo usando il processo

  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); }