如何延迟命令执行

时间:2011-08-04 23:30:40

标签: c# .net vb.net shell

如何使程序等到shell命令完成?例如:

Shell("format")
Console.WriteLine("Finished")

在此示例中,首先编写“完成”行,然后才启动shell函数。如何首先启动shell函数,并且只有在完成时才写入“完成”行?

6 个答案:

答案 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。