批处理文件 - 具有服务停止/启动的通配符



我知道我们可以在VBS,PowerShell等中做到这一点。 但是,我们不想使用除好的批处理脚本之外的其他语言来执行此操作。

想通了以下几点:

TASKKILL /F /IM "tomcat*"

这将强制杀死/阻止任何持久的雄猫实例。 此外,这将涵盖Tomcat6.exe,Tomcat6_1.exe,tomcat7.exe等。

我的问题是什么.. 例如,我们知道我们可以做一个NET START Tomcat6。 是否有可能:

NET START Tomcat*

?是的,我完全知道如果您在服务器上有多个Tomcat实例,这将失败,因为您必须遍历实例列表。但是,我考虑这样做的原因是,我有每月必须运行的脚本,并且我正在尝试使批处理脚本更具可移植性。

谢谢。

可以将 WMIC 命令与通配符一起使用来实现此目的:

wmic service where "name like 'tomcat%%%'" call stopservice

请参阅在超级用户站点上重新启动通配符服务。

@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%

这?

最新更新