在批处理编程中,可以在上一个命令执行完成之前运行一个命令?

问题描述:

在批处理编程中,有一个命令一直等到下一个命令运行完毕才会执行?我的意思是,例如在批处理编程中,可以在上一个命令执行完成之前运行一个命令?

net stop wuauserv 
net start wuauserv 

由于net stop wuauserv需要一段时间来完成它是给定的时间来完成或者我需要另一个命令等待,直到它完成?

+0

当你尝试时会发生什么? – 2013-03-14 16:45:55

+0

@AbqBill它会很难知道它是否工作,如果我尝试它...它看起来像它的工作。我希望能与更有经验的人确认。 – Celeritas 2013-03-14 16:47:58

NET STOP命令等待(或等待时超时)服务停止或启动。 您可以从命令中检查%ERRORCODE%以获取有关是否存在问题或其是否按预期工作的更多信息。

一般来说,大多数系统命令行工具一旦完成执行就会返回控制权。一些专门的程序会调用其他服务或系统,并可能在执行完成之前返回控制权。无论您尝试运行什么,您都需要检查文档,但一旦完成“任务”,一般会处理退出。

在批处理文件中,所有命令都按顺序运行,并且执行等待命令完成。

在您的示例中,net stop wuauserv将在net start wuauserv运行之前完成。

你可以确认,通过运行,你知道会花很长时间的东西,如

ping www.google.com 
ping www.*.com 

,你会看到第二个ping不启动,直到第一个完成。

+0

所有命令/程序都按顺序运行。但是,并非所有人都等待上一个命令完成。尝试在你的'PING'调用之间呼叫'NOTEPAD',看看会发生什么。 – aphoria 2013-03-14 19:29:29

就你而言,是的第二个命令将不会执行,直到第一个完成。

但是,GUI应用程序将启动并返回控制批处理文件。

例如,

PING localhost 
NOTEPAD 
DIR 

DIR命令将执行即使NOTEPAD仍在运行。