我有文件夹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);
答案 0 :(得分: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");
如果它们与临时目录不同,请确保为您的参数提供正确的完整路径。
答案 1 :(得分:0)
您要运行的进程是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);