这个问题与Halt batch file until service stop is complete?非常相似,但我想停止一个网站。我目前在脚本中有appcmd stop sites "siteName"
,但批处理文件只是发出停止命令并继续。我希望批处理文件要等到站点停止后再继续。我正在运行Windows Server 2008.停止批处理文件,直到网站停止完成?
1
A
回答
0
是否appcmd
立即返回? 这可能会起作用,具体取决于appcmd的行为。
start /wait "site stop" appcmd stop sites "siteName"
如果appcmd
是一个脚本,您可能可以修复它,以便它不会立即返回。
您使用的是什么Web服务器?
0
显然,如果您使用APPCMD,则使用IIS 7或更新版本。
- 我认为你的意思是SITE而不是SITES。
- 您的路径中可能有另一个文件名APPCMD。键入APPCMD /?看看你是否 执行你的想法。
试试这个,以确保您正在执行所需的APPCMD:
“%WINDIR%\ SYSTEM32 \ INETSRV \ Appcmd.exe的” 一站式网站的 “网站名称”
0
我无法弄清楚如何让这个工作使用批处理文件。事情是这样的威力工作:
: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命令。问题似乎是,输出包含双引号,并且在执行变量扩展时会干扰命令解释。
这里的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")
相关问题
- 1. 多处理:主程序停止,直到处理完成
- 2. ImageMagick批处理文件停止工作
- 3. 停止使用批处理文件
- 4. 批处理文件:停止进程
- 5. 使用批处理文件停止logcat
- 6. 暂停执行,直到批处理文件完成
- 7. 停止批处理文件只处理最后一个文件?
- 8. 停止线程直到其他完成
- 9. 停止php处理文件
- 10. 在“call:loop”中完全停止批处理文件
- 11. 停止网页处理
- 12. 批处理作业不与停止commandLineJobRunner停止
- 13. 批处理 - 如何停止确认批量删除文件
- 14. 如何暂停/停止功能,直到SOAP请求完成
- 15. 编译后批处理文件exe文件停止工作
- 16. 如何停止UI线程直到网络操作完成
- 17. 网站停止响应,直到删除cookie为止
- 18. 处理tomcat停止
- 19. 如何停止RemoteIO当文件完成?
- 20. 批处理脚本后停止向其他批处理脚本
- 21. 停止JUnit整理,直到所有其他线程都停止
- 22. 停止从服务页面到完成处理的php函数
- 23. 如何停止将文件输出到日志文件的批处理文件?
- 24. 文件处理:代码停止运行
- 25. 停止处理源文件并继续
- 26. 停止使用网址到达网站
- 27. 鹈鹕停止生成该网站
- 28. 如何停止或退出批处理文件
- 29. 批处理文件 - 停止在运行中
- 30. 如何停止关闭窗口的批处理文件