Mysql

如何在cmd中停止、啟動和刪除一個windows服務並引用服務名

  • February 11, 2022

如何僅使用服務名稱的片段在 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 開始可用。

引用自:https://serverfault.com/questions/1005487