windows bat批處理判斷電腦服務是否運行的問題

我用來判斷我的mysql是否運行:

在這裡插入圖片描述

代碼:

set srvname="MySQL57" 
sc query|find %srvname% && net stop %srvname% && pause || net start %srvname% && pause

結果:
當他沒運行時:

在這裡插入圖片描述

當他運行時:

在這裡插入圖片描述

Bat命令學習-批處理中的&、&&、|、||、>、>>符號
& 順序執行多條命令,而不管命令是否執行成功
例:copy nul 5.txt & echo 666 >>5.txt & more 5.txt
創建5.txt文檔,向5.txt文檔中寫入內容“666”,輸出5.txt的內容。

&& 順序執行多條命令,當碰到執行出錯的命令後將不執行後面的命令

|| 順序執行多條命令,當碰到執行正確的命令後將不執行後面的命令(即:隻有前面命令執行錯誤時才執行後面命令)

| 管道命令 前一個命令的執行結果輸出到後一個命令 如:help|more

清除文件中原有的內容後再寫入

追加內容到文件末尾,而不會清除原有的內容主要將本來顯示在屏幕上的內容輸出到指定文件中指定文件如果不存在,則自動生成該文件

powershell判斷服務是否啟動

$a = Get-Service | Where-Object {$_.Name -eq "MySQL"} | Where-Object {$_.Status -eq "running"};if($a -eq ""){echo "service has running"}else{echo "service is running";Stop-Service MySQL;};pause;

有時還需要使用管理員權限運行:

Start-Process powershell -Verb runAs;

到此這篇關於windows bat批處理判斷電腦服務是否運行的文章就介紹到這瞭,更多相關windows bat批處理內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: