我需要从我的Windows窗体应用程序中打开外部进程。更重要的是,我需要在应用程序的运行时间内多次执行此操作。基本上,我在命令提示符下多次执行带有参数的.exe文件,但是我需要将文件夹更改为.exe所在的位置,以使其正常工作。 到目前为止,我打开了这样的cmd:
ProcessStartInfo processStartInfo = new ProcessStartInfo("cmd.exe");
processStartInfo.RedirectStandardInput = true;
processStartInfo.RedirectStandardOutput = true;
processStartInfo.UseShellExecute = false;
Process process = Process.Start(processStartInfo);
然后使用process.WriteLine将命令提供给CMD。
process.StandardInput.WriteLine("Awin.exe -X " + filePath + "/" + fileNumber + " ID=\"" + id + "\"");
我需要为几个fileNumber文件执行此操作。此外,我需要等待从输入开始的过程结束,然后再继续下一个过程。 有没有更好的方法来做到这一点,因为我没有从使用process.WaitForExit
获得良好的结果答案 0 :(得分:0)
ProcessStartInfo
类具有WorkingDirectory
属性。
ProcessStartInfo processStartInfo = new ProcessStartInfo("cmd.exe");
processStartInfo.WorkingDirectory = your_directory
(...)
//do your thing
Process process = Process.Start(processStartInfo);
参数可以通过Arguments
属性