如何使程序等到shell命令完成?例如:
Shell("format")
Console.WriteLine("Finished")
在此示例中,首先编写“完成”行,然后才启动shell函数。如何首先启动shell函数,并且只有在完成时才写入“完成”行?
答案 0 :(得分:3)
Shell
可以指定是否等待程序完成的参数:
Shell("format", Wait:=True)
答案 1 :(得分:2)
使用流程和cmd.exe
var psi = new ProcessStartInfo("cmd.exe");
psi.WindowStyle = ProcessWindowStyle.Hidden;
psi.Arguments = @"/C cd C:\windows\system32 && dir";
var proc = Process.Start(psi);
proc.WaitForExit()
Console.WriteLine("Finished!");
要运行的任何命令开头的/C
参数,意味着shell将运行该命令,然后在完成时退出。
答案 2 :(得分:1)
也许你需要这样的东西:
System.Diagnostics.Process.Start("C:\bla.exe").WaitForExit();
答案 3 :(得分:1)
查看Process Class。然后使用Process.WaitForExit Method等待您创建的进程退出。
答案 4 :(得分:0)
我认为您可以使用Process课程。
创建流程实例,并在流程存在时附加事件处理程序。
http://msdn.microsoft.com/en-us/library/system.diagnostics.process.exited.aspx#Y200
答案 5 :(得分:0)
快速上网搜索“Microsoft.VisualBasic.Interaction.Shell”。
我发现了这个:MSDN microsoft.visualbasic.interaction.shell
它告诉我:
参数
等待
Type: System.Boolean
可选。布尔。一个值,指示Shell是否起作用 应该等待程序的完成。如果省略Wait,则Shell使用False。