我在运行进程和向它们传递args时遇到了一些麻烦.我知道如何使用一些args运行进程
ProcessStartInfo psi = new ProcessStartInfo("cmd.exe", "/c something");
Process p = Process.Start(psi)
Run Code Online (Sandbox Code Playgroud)
问题是脚本执行后,进程终止.这就是"/ c"的原因
但我正在运行多个脚本,我想在一个进程("cmd.exe")中运行它们,而不是每次都启动新进程.
有一些解决方案吗?
我希望有人理解我在说什么;)
小智 10
我建议您使用批处理文件来编写可执行文件的执行脚本,然后调用批处理文件.或者,你可以这样做 -
Process p = new Process();
ProcessStartInfo info = new ProcessStartInfo();
info.FileName = "cmd.exe";
info.RedirectStandardInput = true;
info.UseShellExecute = false;
p.StartInfo = info;
p.Start();
using (StreamWriter sw = new StreamWriter(p.StandardInput))
{
if (sw.BaseStream.CanWrite)
{
sw.WriteLine("mysql -u root -p");
sw.WriteLine("mypassword");
sw.WriteLine("use mydb;");
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3153 次 |
| 最近记录: |