110,588
社区成员
发帖
与我相关
我的任务
分享
Process p = CreateProcess("cmd",dir);//假如此处为我们从工厂中实例化一个调用cmd命令的进程
p.Start();
//从这里执行一个批处理或控制台程序,也可以是一堆CMD下的命令,我们通常会用这些来做大量的文件拷贝等操作
p.StandardInput.WriteLine("\"" + filename + "\" " + args);//写入执行参数
p.StandardInput.WriteLine("exit");//输入退出
//从此处获取所有输出信息
string result = p.StandardOutput.ReadToEnd();
p.WaitForExit();
//退出
/// <summary>
/// 生成进程
/// </summary>
/// <param name="filename"></param>
/// <returns></returns>
public static Process CreateProcess(string filename, string dir)
{
Process p = new Process();//进程
p.StartInfo.FileName = filename;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.UseShellExecute = false;
p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
p.StartInfo.CreateNoWindow = true;
//下面二句不可少,不然会出错
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardError = true;
if (!string.IsNullOrEmpty(dir))
p.StartInfo.WorkingDirectory = dir;
return p;
}