前几天的项目要用到程序执行dos命令去编译已生成的ice文件,后来去百度了好多都是只能执行一条命令 或者是分别执行几条命令,而我要的是一条dos命令在另一台命令的基础上执行。而不是分别执行。 后来尝试了好多次才弄好,总结如下,怕以后忘记。
public void DoDos(string comd1,string comd2,string comd3)
{
string output = null;
Process p = new Process();//创建进程对象
p.StartInfo.FileName = "cmd.exe";//设定需要执行的命令
// startInfo.Arguments = "/C " + command;//“/C”表示执行完命令后马上退出
p.StartInfo.UseShellExecute = false;//不使用系统外壳程序启动
p.StartInfo.RedirectStandardInput = true;//可以重定向输入
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow = false;//不创建窗口
p.Start();
// string comStr = comd1 + "&" + comd2 + "&" + comd3;
p.StandardInput.WriteLine(comd1);
p.StandardInput.WriteLine(comd2);
p.StandardInput.WriteLine(comd3);
// output = p.StandardOutput.ReadToEnd();
if (p != null)
{
p.Close();
}
// return output;
}
//记得开线程
void Start()
{
Thread thread = new Thread(new ThreadStart(CmdCtr));
thread.Start();
}
private void CmdCtr()
{
DoDos("", "", "");
}
转载:https://www.cnblogs.com/visibleisfalse/p/3578886.html