如何以编程方式等待Shell命令完成运行?

问题描述:

我在一个程序中,像这样发送电子邮件:如何以编程方式等待Shell命令完成运行?

Call Shell(smtpPath, emailInput...) 

这个伟大的工程,但如果我调用该函数两次,功能第一次运行时,会调用shell命令,那么函数再次运行,并再次调用shell命令,但第一个shell命令没有完成,所以出现错误,因为第二个shell命令尝试使用与第一个(仍在使用中)相同的smtp文件。

如何让该函数等待shell命令运行完成?

附录:或者有没有一种方法,我可以看到文件是否正在使用,如果是,睡觉,然后再试一次?

你可以使用WScript.Shell,它的run方法:

Set objShell = CreateObject("WScript.Shell") 
result = objShell.Run(smtpPath & " " & emailInput, 0, true)