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!
推薦閱讀:
- PowerShell的基本使用方法
- 關於為Windows Service 2019 使用 Docker的問題
- windows中dos批處理之命令特殊符號通配符與轉義符(推薦)
- jar包打包成exe安裝包的實現
- linux shell 編程之函數使用詳解