【发布时间】:2015-03-07 05:02:40
【问题描述】:
我从命令窗口运行一个命令,如下所示:
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 进程结束,它将读取一个空文本文件。我想到了:
-
不使用文本文件
- 由于我有其他限制,这不起作用,它确实需要放入文本文件中
-
等待几秒钟
- 我不知道该命令需要多长时间,而且基于时间的解决方案通常都不好。
-
检查命令提示符进程是否正在运行
- 用户可能出于某种原因正在运行另一个命令提示符
【问题讨论】:
-
看看
Process类。我相信你会在那里找到对你有用的东西。 -
另外,研究控制台重定向。