我想按此顺序启动或停止两项服务:service1 then service2。
这是我的bat文件(test.bat):
SET _cmd=net %1 service1 && net %1 service2
cmd /C %_cmd%
如果像这样运行这个:test.bat start
或test.bat stop
,则输出如下所示:
starting/stopping service2
starting/stopping service1
但是,我想要的是service1然后是service2。 有人能告诉我该怎么做吗?
如果只是在命令提示符窗口中运行以下命令,命令将按正确的顺序运行:
cmd /c net stop service1 & net stop service2
有人知道这些差异吗?提前谢谢!
答案 0 :(得分:3)
您的批处理文件运行两个命令
SET _cmd=net %1 service1
net %1 service2
按此顺序。 &&
未成为_cmd
的一部分。然后,你运行
cmd /C %_cmd%
启动service1。
在我看来,做你想做的最简单的方法是:
net %1 service1 && net %1 service2
无需涉及cmd /c
或环境变量。