C# Process的使用

private static string ExecuteCmd(string wrokDirectory, string dosCommand)
{
string output = string.Empty;

if (string.IsNullOrEmpty(wrokDirectory) || string.IsNullOrEmpty(dosCommand))
{
return output;
}

Process process = new Process();
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "cmd.exe";
//startInfo.Arguments = "/C " + dosCommand; //设定参数,其中的“/C”表示执行完命令后马上退出
startInfo.UseShellExecute = false; //不使用系统外壳程序启动
startInfo.RedirectStandardInput = false; //不重定向输入
startInfo.RedirectStandardOutput = true; //重定向输出
startInfo.CreateNoWindow = true; //不创建窗口
//startInfo.WorkingDirectory = wrokDirectory;
process.StartInfo = startInfo;

try
{
if (process.Start()) //开始进程
{
process.StandardOutput.ReadToEnd(); //读取输出流释放缓冲,  不加这一句,进程会一直无限等待
process.WaitForExit();
}
}
catch (Exception e)
{
Debug.Log("Exception !!!");
}

return output;
}

posted @ 2015-06-04 13:30  关雎天下  阅读(5520)  评论(0编辑  收藏  举报