【发布时间】:2023-03-08 13:37:01
【问题描述】:
我想通过批处理文件执行以下操作:
Action--> 检查是否有多个名称中包含共同词的服务正在运行,例如以下条件:
1) IF services name contain word "Demo Service"
2) IF services name contain word "Demo Mobile Service"
3) IF services name contain word "Demo StTime Service"
Action--> 如果所有服务都在运行,退出批处理!
Action-->如果一个或多个服务没有运行,则一个一个启动服务
我有一个服务器,上面有大约 50 个服务,服务的示例名称:
001122 演示服务
001122 演示移动服务
001252 演示服务
001252 演示移动服务
001252 演示 StTime 服务
由于某些原因(资源就是其中之一),很少有服务会在任何随机时间停止,所以我需要这个脚本工作,直到我获得更多资源。
我找到了一些零碎的东西,并尝试将它们编译如下。
@ECHO off
SETLOCAL EnableDelayedExpansion
set "SERVICE_NAME=Demo Service"
echo %SERVICE_NAME%
FOR /L %%G IN (1,1,100) DO (
set "SERVICE_NAME=%SERVICE_NAME%%%G"
echo Starting "!SERVICE_NAME!"
net start "!SERVICE_NAME!"
)
set "M_SERVICE_NAME=Demo Mobile Service"
echo %M_SERVICE_NAME%
FOR /L %%G IN (1,1,100) DO (
set "M_SERVICE_NAME=%M_SERVICE_NAME%%%G"
echo Starting "!M_SERVICE_NAME!"
net start "!M_SERVICE_NAME!"
)
set "ST_SERVICE_NAME=Demo StTime Service"
echo %ST_SERVICE_NAME%
FOR /L %%G IN (1,1,100) DO (
set "ST_SERVICE_NAME=%ST_SERVICE_NAME%%%G"
echo Starting "!ST_SERVICE_NAME!"
net start "!ST_SERVICE_NAME!"
)
第一个问题,由于 FOR 循环,它尝试查找 100 个服务,第二个它说服务名称无效,所以我不确定如何修复 lixe 标准。 有人可以帮我处理这个批处理文件吗?
【问题讨论】:
-
首先注释掉
@echo off-- 很多问题都可以轻松解决...
标签: web-services wcf batch-file service