2017-06-06 8 views
1

的其餘部分我想建立過程清潔Tomcat的緩存文件夾(當我需要它),我讀過關於這個的cmdlet:如何設置驗證在PowerShell中,將檢查服務的狀態,然後激活腳本

Stop-Service Tomcat8 
Remove-Item "C:\Program Files\Apache Software Foundation\Tomcat 8.0\work\Catalina\localhost\*" 
-Confirm:$false 
Start-Service Tomcat8 

我沒有在這個控制,所以我很感興趣,如果有某種驗證的,所以我可以在控制檯中這樣寫:如果服務停止

Stop-Service Tomcat8 

檢查。

寫在控制檯「服務已停止」

Remove-Item "C:\Program Files\Apache Software Foundation\Tomcat 8.0\work\Catalina\localhost\`*" 
-Confirm:$false 

檢查工作已經完成?

啓動服務

Start-Service Tomcat8 

回答

1

相信Stop-Service將等待服務停止默認,但我認爲它仍然有可能爲它不能停止服務和超時。要增加一個檢查,你可以這樣做:

$TomcatStartup = (Get-Service Tomcat8).StartType 

Set-Service Tomcat8 -StartupType Disabled 
Stop-Service Tomcat8 

If ((Get-Service Tomcat8).Status -eq 'Stopped'){ 
    Remove-Item "C:\Program Files\Apache Software Foundation\Tomcat 8.0\work\Catalina\localhost\*" -Confirm:$false 
    Set-Service Tomcat8 -StartupType $TomcatStartup 
    Start-Service Tomcat8 
} Else { 
    Throw 'Tomcat was not stopped' 
} 

我加入了服務暫時設定爲禁用,這樣它不會自動重新啓動時,你不希望它。

+0

嘿馬克我已經在我的系統上測試過這個問題,我啓動Tomcat8服務時遇到問題。但我會嘗試進一步配置它。感謝您的輸入,我現在有一個起點。 –

+1

我重寫了幾次,因爲我意識到我犯了幾個錯誤。你有沒有嘗試最新版本? –

+0

謝謝,這個工程我看到你改變了.StartType和$ TomcatStartup從最後一個。 :) –

相關問題