2014-10-30 19 views
0

我想創建一個腳本來檢查服務打印後臺處理程序是否正在運行。檢查服務的狀態,然後執行命令和回顯狀態給用戶

下面列出了啓動和停止以及檢查狀態的命令。

sc start Spooler # Starts service 

sc stop Spooler # Stops service 

sc query Spooler # Returns status of Spooler 

我想隱藏這些命令的輸出從用戶。

我想檢查服務是否正在運行。

如果是,則回顯給用戶「Print Spooler已在運行」。然後在關閉之前暫停。

如果否,則回顯「服務已停止」,然後啓動服務並回顯「服務啓動器」,然後在關閉之前暫停。

任何幫助將不勝感激。

回答

0

你爲什麼要做這麼迂迴的事情。我們不測試然後做,然後測試它是否工作。測試經常使用與做相同的資源,所以你咀嚼了兩倍的電池壽命,減慢了其他程序的速度。

@echo off 
sc start spooler>%temp%\status.txt 
findstr /c:"1056"<%temp%\status.txt>nul&&(Echo Service Already Running&pause&Goto :EOF) 
findstr /c:"FAILED"<%temp%\status.txt>nul&&(Echo Service Can't Start&pause&Goto :EOF)||(Echo Service Started&pause&Goto :EOF)