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

use*_*715 4 c#

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

cd C:\Temp\
des.exe XXXX input.abcd output.zip
Run Code Online (Sandbox Code Playgroud)

以下为什么不起作用#

        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); 
Run Code Online (Sandbox Code Playgroud)

And*_*lon 8

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

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

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