通配符服务重启

通配符服务重启

目前,我们已经设置了一个.bat文件,列出了所有要启动/停止的服务,例如。

SC start SERVICE1
SC start SERVICE2

SC stop SERVICE1
SC stop SERVICE2

我们一直在添加新的服务,列表不断增长,很难在​​批处理文件中维护。

是否可以使用像“SC start SERVICE*”之类的通配符?

答案1

很简单,通过 Powershell:

Get-service SERVICE* | stop-service -force

Get-service SERVICE* | start-service

答案2

您可以使用wmicSQL-ish 通配符语法。

cmd控制台:

wmic service where "name like 'SERVICE%'" call startservice

.bat脚本中:

wmic service where "name like 'SERVICE%%'" call startservice

可用动词包括startservice、、、等。更多信息请stopservice参见。pauseserviceresumeservicewmic service call /?

答案3

如果你想要一行命令,

您可以使用重新启动服务 Cmdlet它是在 powershell 中预先构建的。

要使用 Restart-Service,只需调用 cmdlet 后跟服务名称:

Restart-Service mysql57

要重新启动多个服务,只需指定每个服务的名称(以逗号分隔):

Restart-Service mysql57,apache

如果愿意,可以添加 -displayname 参数并指定服务显示名称(服务管理单元中显示的名称):

Restart-Service -displayname "Mysql 5.7 server"

此 Cmdlet 也接受通配符匹配。要重新启动以“mysql”开头的所有服务:

Restart-Service mysql*

相关内容