在没有外部文件的情况下查询多个 Windows 服务的状态
querying the state of multiple Windows services without an external file
我必须使用 sc.exe 将一些服务的状态记录到文本文件中。
我无法使用外部文本或 ini 文件来列出我的 windows 服务。
所以虽然以下工作:
for /f "delims=" %%A in (list.txt) do sc query %%A >> C:\servicestatus.log
我无法使用它,(因为它使用的是外部文本文件)。
所以我必须传递所有服务名称,例如:
FOR /F "tokens=2,3 delims=: " %%A in (SC QUERY "SA1" ^& SC QUERY "SA2" ^& ) do sc query %%A >> C:\servicestatus.log
…但这并没有输出我需要的。
谁能帮我正确调整。
这是我最初的评论作为回答。
单行batch-file:
@(For %%A In ("SA1" "SA2" "ANOther") Do @%SystemRoot%\System32\sc.exe Query %%A) > "C:\servicestatus.log"
作为多行 batch-file:
@Echo Off
(
For %%A In (
"SA1"
"SA2"
"ANOther"
) Do (
%SystemRoot%\System32\sc.exe Query %%A
)
) > "C:\servicestatus.log"
我必须使用 sc.exe 将一些服务的状态记录到文本文件中。
我无法使用外部文本或 ini 文件来列出我的 windows 服务。
所以虽然以下工作:
for /f "delims=" %%A in (list.txt) do sc query %%A >> C:\servicestatus.log
我无法使用它,(因为它使用的是外部文本文件)。
所以我必须传递所有服务名称,例如:
FOR /F "tokens=2,3 delims=: " %%A in (SC QUERY "SA1" ^& SC QUERY "SA2" ^& ) do sc query %%A >> C:\servicestatus.log
…但这并没有输出我需要的。
谁能帮我正确调整。
这是我最初的评论作为回答。
单行batch-file:
@(For %%A In ("SA1" "SA2" "ANOther") Do @%SystemRoot%\System32\sc.exe Query %%A) > "C:\servicestatus.log"
作为多行 batch-file:
@Echo Off
(
For %%A In (
"SA1"
"SA2"
"ANOther"
) Do (
%SystemRoot%\System32\sc.exe Query %%A
)
) > "C:\servicestatus.log"