这个问题非常类似于停止批处理文件直到服务停止完成? https://stackoverflow.com/questions/2874911/halt-batch-file-until-service-stop-is-complete但我想停止一个网站。我目前有appcmd stop sites "siteName"
在脚本中,但批处理文件只是发出停止命令并继续。我希望批处理文件等到站点停止后再继续。我正在运行 Windows Server 2008。
我不知道如何使用批处理文件使其工作。像这样的东西might工作(但这可能对你不起作用,对某些人也不起作用):
:LoopWhileNotStopped
for /f "delims=" %x in ('appcmd list site "siteName"') do set siteInfo="%x"
IF NOT %siteInfo:~-16% == "state:Stopped)"
GOTO :LoopWhileNotStopped
但我不知道如何修改set siteInfo="%x"
命令,以便它适用于输出appcmd命令。问题似乎是appcmd输出包含双引号,并且在执行变量扩展时会干扰命令解释。
这是一个应该可以工作的 PowerShell 脚本:
C:\Windows\System32\inetsrv\appcmd.exe stop site "siteName"
do { Start-Sleep -s 1; $siteInfo = C:\Windows\System32\inetsrv\appcmd.exe list site "siteName" } until ($siteInfo -match "state:Stopped")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)