[英]Wait for cmd command to end before continuing
我從命令窗口運行命令,如下所示:
System.Diagnostics.Process process = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
startInfo.FileName = "cmd.exe";
startInfo.Arguments = "/C " + command + "> " + userProfile + @"\cmdoutput.txt";
process.StartInfo = startInfo;
process.Start();
下一行代碼讀取文本文件並根據需要操作數據。 但是,如果我不等待cmd進程結束,它將讀取一個空文本文件。 我想到了:
不使用文本文件
等幾秒鍾
檢查命令提示符進程是否正在運行
System.Diagnostics.Process
類有一個方法WaitForExit
。 據我了解你的問題,那應該做你想要的。
你應該能做到的,
process.Start();
process.WaitForExit();
如有必要,您還可以傳遞一個int
超時。
當然,這假設您運行的應用程序將在完成后退出。 如果情況並非如此( 重新考慮! ),你將不得不做其他事情,比如投票。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.