繁体   English   中英

编写批处理脚本以启动服务

[英]Writing a batch script to start services

我正在编写一个脚本,它将启动已定义列表中提供的Windows服务:

set SERVICE_LIST=( "service1" "service2" )

for %%A in %SERVICE_LIST% do (
    net start %%A
    if %ERRORLEVEL% EQU 0 echo "...Service [%%A] started successfully" & goto :nextservice
    if %ERRORLEVEL% NEQ 0 echo "...There was an issue starting service [%%A]"
    :nextservice
)

运行脚本时,出现以下错误:

) was unexpected at this time.

我是否无法在do()块中为每个服务定义所有错误捕获? 有没有更好的方法来实现我要完成的任务?

set "SERVICE_LIST=service1,service2,..."

FOR %%A in (%SERVICE_LIST%) DO ...

该错误是由:nextservice行引起的:您不应在( block )内包括标签goto命令。 顺便说一句,修改命令的语法是一种不好的做法,将命令的一部分存储在变量中...

set SERVICE_LIST="service1" "service2"

for %%A in (%SERVICE_LIST%) do (
    net start %%A
    if ERRORLEVEL 1 (
       echo "...There was an issue starting service [%%A]"
    ) else (
       echo "...Service [%%A] started successfully"
    )
)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM