使用cmd.exe和命令运行命令

时间:2014-12-16 01:55:44

标签: batch-file cmd

我想按此顺序启动或停止两项服务:service1 then service2。 这是我的bat文件(test.bat):
    SET _cmd=net %1 service1 && net %1 service2
    cmd /C %_cmd%

如果像这样运行这个:test.bat starttest.bat stop,则输出如下所示:
    starting/stopping service2
    starting/stopping service1

但是,我想要的是service1然后是service2。 有人能告诉我该怎么做吗?

如果只是在命令提示符窗口中运行以下命令,命令将按正确的顺序运行:
    cmd /c net stop service1 & net stop service2

有人知道这些差异吗?提前谢谢!

1 个答案:

答案 0 :(得分:3)

您的批处理文件运行两个命令

SET _cmd=net %1 service1
net %1 service2

按此顺序。 &&未成为_cmd的一部分。然后,你运行

cmd /C %_cmd%

启动service1。

在我看来,做你想做的最简单的方法是:

net %1 service1 && net %1 service2

无需涉及cmd /c或环境变量。