這個問題與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. 如何停止關閉窗口的批處理文件