Mysql
如何在cmd中停止、啟動和刪除一個windows服務並引用服務名
如何僅使用服務名稱的片段在 cmd 中停止/啟動 Windows 服務。例子:
NET STOP *part_of_name_of_service* NET START *part_of_name_of_service*
例如。mysql有許多版本的“服務名稱”。
MySQL57 wampmysqld etc, etc, etc
這個想法是停止/啟動任何包含單詞“mysql”的服務。像這樣的東西:
net start *MySQL*
但不幸的是,我的嘗試產生了錯誤:“服務名稱無效”。
嘗試:
1.使用以下命令將服務名稱轉儲到文件中:
REG QUERY "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services" > services.txt findstr /i /r "mysql" services.txt HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MySQL HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\wampmysqld64
但我無法完成循環
2.用taskkill
call :winservices "*mysql*" :: funcion winservices @echo off goto:eof :winservices set winservices=%1 taskkill /f /im "%winservices%" /t goto:eof
但
"*mysql*"
不起作用(僅"mysql*"
起作用)嘗試刪除服務時也會發生同樣的情況:
sc delete *MySQL*
我該怎麼做?
在這裡找到了解決方案(僅適用於終止服務)
taskkill /FI "IMAGENAME eq httpd*" /T /F taskkill /FI "IMAGENAME eq mysql*" /T /F
使用 PowerShell 非常簡單:
Stop-Service *mysql*
Start-Service
並且Remove-Service
工作相同,後者僅從 PowerShell 6 開始可用。