【问题标题】:How to execute multiple .bat files from different location using master.bat?如何使用 master.bat 从不同位置执行多个 .bat 文件?
【发布时间】:2015-09-10 05:12:25
【问题描述】:

我想使用 master.bat 从不同位置执行多个 .bat 文件

我试过了

Master.bat

REM Echo Launch dir: "%~dp0"
REM Echo Current dir: "%CD%"
cd %~dp0\..\demo123\folder1\first.bat

REM Echo Launch dir: "%~dp0"
REM Echo Current dir: "%CD%"
cd %~dp0\..\demo555\folder2\second.bat
REM Echo Launch dir: "%~dp0"
REM Echo Current dir: "%CD%"
pause

它只执行first.bat我想执行所有,我要添加10个文件,比如不同的文件夹位置Main源文件夹是固定的。这就是为什么我可以使用..

【问题讨论】:

  • 您需要“调用”您的其他 .bat 文件:call ..\demo123\folder1\first.bat
  • 我尝试使用 call 也只是执行第一个 .bat 文件而不是下面的文件

标签: windows batch-file cmd batch-processing


【解决方案1】:

首先你需要使用cd设置批处理文件的目录

cd D:\Files
File1.bat
File2.bat

【讨论】:

    【解决方案2】:

    这取决于您希望如何调用文件。

    一个接一个:使用call,否则该批次将接管并结束主批次。

    并行:使用start 命令

    但我认为您的批处理中有错误:不要混合 cd 并调用批处理。改为这样做:

    ...
    cd %~dp0\..\demo123\folder1
    call first.bat
    cd %~dp0\..\demo555\folder2
    call second.bat
    ...
    

    您也可以使用完整路径调用批处理,但我相信分成两行会使批处理更具可读性。

    【讨论】:

    • 它可以是并行的,但必须执行所有列出的 .bat 文件。
    • 两种变体都不会结束您的主批次,因此在第一次执行后您的批次仍然存在并且能够调用第二个等等。
    • 我认为文件位置可能存在问题,因为我每次都在使用cd,然后使用callstart。你能帮我纠正我上面的Mater.bat吗?
    • 你做对了我混合了 cdcall 现在这是完美的谢谢
    • @Neo 这是个好消息。您可以接受答案,这样其他人就会知道他们不再需要为答案而努力
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多