使用c#中的参数运行cmd.exe

我有文件夹C:\ Temp \,它有两个文件des.exe和input.abcd。 des.exe用于解密input.abcd。 在命令提示符下面有2行内容

cd C:\Temp\ des.exe XXXX input.abcd output.zip 

以下为什么不适用于c#

  string argument1 = "/K cd C:\\Temp\\ "; string argument2 = "des.exe XXXX input.abcd output.zip" ; System.Diagnostics.ProcessStartInfo proc = new System.Diagnostics.ProcessStartInfo(); proc.FileName = @"C:\windows\system32\cmd.exe"; proc.Arguments = String.Format("{0} {1}", argument1, argument2); proc.WindowStyle = System.Diagnostics.ProcessWindowStyle.Maximized; System.Diagnostics.Process.Start(proc); 

您不需要将cmd.exe作为进程运行。 您需要做的就是使用“XXXX input.abcd output.zip”参数运行“c:\ temp \ des.exe”。

 System.Diagnostics.Process.Start("c:\temp\des.exe", "XXXX input.abcd output.zip"); 

如果它们与临时目录不同,请确保为您的参数提供正确的完整路径。

您要运行的进程是dec.exe,而不是cmd.exe。 试试这个,用{fullPath}替换des.exe的路径:

  string argument2 = "XXXX input.abcd output.zip"; System.Diagnostics.ProcessStartInfo proc = new System.Diagnostics.ProcessStartInfo(); proc.FileName = @"C:\\Temp\\des.exe"; proc.Arguments = String.Format("{0} {1}", argument2); proc.WindowStyle = System.Diagnostics.ProcessWindowStyle.Maximized; System.Diagnostics.Process.Start(proc);