如何让程序等待直到shell命令完成?例如:
Shell("format")
Console.WriteLine("Finished")
在本例中,首先写入"Finished"行,然后才启动shell函数。如何首先启动shell函数,只有当它已经完成写行"完成"?
Shell
可以接受一个参数,指定是否等待程序完成:
Shell("format", Wait:=True)
使用流程和cmd.exe
var psi = new ProcessStartInfo("cmd.exe");
psi.WindowStyle = ProcessWindowStyle.Hidden;
psi.Arguments = @"/C cd C:windowssystem32 && dir";
var proc = Process.Start(psi);
proc.WaitForExit()
Console.WriteLine("Finished!");
/C
参数在你想要运行的任何命令的开头,意味着shell将运行那个命令,然后在它完成后退出。
也许你需要这样的东西:
System.Diagnostics.Process.Start("C:bla.exe").WaitForExit();
看一下进程类。然后使用Process。WaitForExit方法,用于等待您创建的进程退出。
我想你可以使用Process类。
创建流程的实例,并在流程存在时附加一个事件处理程序。
http://msdn.microsoft.com/en-us/library/system.diagnostics.process.exited.aspx 1
在网上搜索" microsoft . visualbasic . interactive . shell "。
我发现了这个:MSDN microsoft.visualbasic. interactive .shell
它告诉我:
参数等Type: System.Boolean
可选的。布尔。一个值,指示Shell是否运行应该等待程序完成。如果省略Wait, Shell使用False。