搜索PC列表|如果服务正在运行,请将PC名称复制到文件

时间:2014-04-20 19:44:19

标签: windows batch-file command-line-interface

我有以下批处理文件,它将获取服务器名称列表“servers.txt”并将各个名称插入服务控制命令。

for /f %%a in (servers.txt) do (
sc \\%%a query "service_name"
)

这将告诉我服务是否正在运行。有了大约900多台服务器的列表,我想要完成的是,如果发现在特定服务器上运行该服务,则将该servername附加到文件中。

类似的东西:

for /f %%a in (servers.txt) do (
sc \\%%a query "service_name" | findstr /i "Running" %%a >> "running.txt"
)

我尝试过使用和不使用if语句,goto,但很明显我的语法错了。

由于

/ BT

2 个答案:

答案 0 :(得分:0)

for /f "tokens=* delims=" %%a in (servers.txt) do (
sc \\%%a query "service_name" 2>&1 | findstr /i "Running" >nul 2>&1 && echo %%a 
)>>running.txt

答案 1 :(得分:0)

wmic /node:"@c:\servers.txt" service where "name='wudfsvc'" get name, started, status /format:hform > Services.html