【问题标题】:Service to be stopped in batch批量停止服务
【发布时间】:2016-03-21 12:21:18
【问题描述】:

我想检查服务是否正在运行。如果是,我希望它停止。我确实有很多服务,所以我希望它以数组或其他方式运行。

据我所知:

for /F "tokens=3 delims=: " %%H in ('sc query "MyServiceName" ^| findstr "        STATE"') do (
  if /I "%%H" NEQ "RUNNING" (
  REM Put your code you want to execute here
  REM For example, the following line
  net stop"MyServiceName"
)

然后我有例如 service1、service2、service3 和 service4

如何在不写四次for循环的情况下添加?

【问题讨论】:

  • 总是只运行net stop xxx?如果 xxx 没有运行,则没有副作用。

标签: windows batch-file windows-services scheduled-tasks


【解决方案1】:
for %%S in ("service1" "service2" "service3") do (
  for /F "tokens=3 delims=: " %%H in ('sc query "%%~S" ^| findstr "        STATE"') do (
   if /I "%%H" NEQ "RUNNING" (
   REM Put your code you want to execute here
   REM For example, the following line
   net stop"%%~S"
  )

)

?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-27
    • 1970-01-01
    • 1970-01-01
    • 2016-05-05
    • 1970-01-01
    • 2011-02-21
    • 1970-01-01
    相关资源
    最近更新 更多