带服务的通配符 Stop/Start
Wildcard with Service Stop/Start
我知道我们可以在 VBS、PowerShell 等中执行此操作。但是,除了良好的批处理脚本之外,我们不想使用其他语言执行此操作。
弄清楚了以下几点:
TASKKILL /F /IM "tomcat*"
这将强制 kill/stop Tomcat 的任何持久实例。此外,这将涵盖 Tomcat6.exe、Tomcat6_1.exe、tomcat7.exe 等。
我的问题是..我们知道我们可以做一个 NET START Tomcat6,例如..是否有可能:
NET START Tomcat*
?
是的,我完全知道如果您在服务器上有多个 Tomcat 实例,这将失败,因为您必须遍历实例列表。但是,我正在考虑这样做的原因是,我有我们必须 运行 的每月脚本,我正在努力使批处理脚本更便携。
谢谢。
@echo off
set "service=tomcat"
for /f "tokens=2 delims=: " %%# in ('sc query type^= service^|find /i "SERVICE_NAME:"^|findstr /i /b /c:"SERVICE_NAME: %service%"') do (
set "nservice=%%#"
)
echo %nservice%
net start %nservice%
这个?
您可以使用带通配符的 WMIC 命令来完成此操作:
wmic service where "name like 'tomcat%'" call stopservice
请参阅超级用户网站上的 Wildcard Services restart。
我知道我们可以在 VBS、PowerShell 等中执行此操作。但是,除了良好的批处理脚本之外,我们不想使用其他语言执行此操作。
弄清楚了以下几点:
TASKKILL /F /IM "tomcat*"
这将强制 kill/stop Tomcat 的任何持久实例。此外,这将涵盖 Tomcat6.exe、Tomcat6_1.exe、tomcat7.exe 等。
我的问题是..我们知道我们可以做一个 NET START Tomcat6,例如..是否有可能:
NET START Tomcat*
? 是的,我完全知道如果您在服务器上有多个 Tomcat 实例,这将失败,因为您必须遍历实例列表。但是,我正在考虑这样做的原因是,我有我们必须 运行 的每月脚本,我正在努力使批处理脚本更便携。
谢谢。
@echo off
set "service=tomcat"
for /f "tokens=2 delims=: " %%# in ('sc query type^= service^|find /i "SERVICE_NAME:"^|findstr /i /b /c:"SERVICE_NAME: %service%"') do (
set "nservice=%%#"
)
echo %nservice%
net start %nservice%
这个?
您可以使用带通配符的 WMIC 命令来完成此操作:
wmic service where "name like 'tomcat%'" call stopservice
请参阅超级用户网站上的 Wildcard Services restart。