需要帮助合并两个批处理文件 (.bat)

Need assistence merging two batch files (.bat)

所以现在我有 2 个 .bat 文件。一个复制一些文件,如果它被更新 ( robocopy C:\location C:\destination) 另一个执行某种 .exe 文件 (start c: \BAT\fraps.exe) ,现在我需要的可能是一个文件,这样当使用 "robocopy" 复制文件时,执行文件将 运行 automaticaly。所以也许有一种方法可以将它们合并为一个或多个。

错误级别由 robocopy 设置:错误级别 1 表示文件已成功复制。

robocopy C:\location C:\destination
if errorlevel 1 if not errorlevel 2 start c:\BAT\fraps.exe

这是概念验证代码 - 以下是扩展注释:

@echo off
md test1
:loop
>test1\testfile.txt echo aaa
robocopy test1 test2
if errorlevel 1 if not errorlevel 2 pause
del test1\testfile.txt
goto :loop

使用 /WAIT 选项,当应用程序启动时,它将等待直到它终止。

使用/B 选项,应用程序启动时不会创建新的window。

示例:

start /wait Command CALL D:\YourFirstScript.bat

start /wait program.exe

start /wait Command CALL X:\YourSecondScript.bat

前后打印一条消息是个好主意。

示例:

ECHO Starting program.

start /wait program.exe

ECHO Finished.

有关详细信息,请参阅下文 link。

How do I launch multiple batch files from one batch file with dependency?

注意:当您 运行 以管理员身份编写脚本时,您需要设置完整路径,因为默认设置为 "C:\Windows\System32"。 最简单的设置方法是

start %~dp0Directory\program.exe

有关“%~dp0”的详细信息,请参见此处 What does %~dp0 mean, and how does it work?

这是我的第一个 post,希望对您有所帮助。