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

Batch file 需要协助合并两个批处理文件(.bat),batch-file,copy,exe,Batch File,Copy,Exe,现在我有了2.bat文件。如果某个文件更新了robocopy C:\location C:\destination,那么它将复制某个文件,另一个文件将执行某种.exe文件启动C:\BAT\fraps.exe,现在我需要的可能是一个文件,这样当使用robocopy复制文件时,执行文件将自动运行。因此,也许有一种方法可以将它们合并到一个或多个smth中。错误级别由robocopy设置:错误级别1表示文件已成功复制 robocopy C:\location C:\destination if erro

现在我有了2.bat文件。如果某个文件更新了robocopy C:\location C:\destination,那么它将复制某个文件,另一个文件将执行某种.exe文件启动C:\BAT\fraps.exe,现在我需要的可能是一个文件,这样当使用robocopy复制文件时,执行文件将自动运行。因此,也许有一种方法可以将它们合并到一个或多个smth中。

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

robocopy C:\location C:\destination
if errorlevel 1 if not errorlevel 2 start c:\BAT\fraps.exe
以下是概念验证代码-以下是扩展注释:


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

使用/B选项,当应用程序启动时,它将不会创建新窗口

例如:

启动/等待命令调用D:\YourFirstScript.bat

启动/等待程序.exe

启动/等待命令调用X:\YourSecondScript.bat

这是一个好主意,打印消息之前和之后

例如:

回声启动程序

启动/等待程序.exe

回声结束了

有关更多详细信息,请参阅下面的链接

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

启动%dp0Directory\program.exe

有关%dp0的详细信息,请参见此处


这是我的第一篇文章,我希望这将对您有所帮助。

为什么您不能创建一个新的批处理文件,其中包含batch1中的所有命令,然后是batch2中的所有命令?或者使用一个单独的批处理文件来调用batch1,然后调用batch2。我需要它一天24小时运行,所以当我做循环时,虽然我的循环很糟糕,但我不得不拔掉我的电脑,因为弹出的窗口太多了。其次,它会复制文件,但不会启动exe文件。若要全天候运行,需要计划脚本。您在脚本中运行的是什么类型的循环?。检查foxidrive提到的错误。可能存在权限问题,请以管理员身份运行脚本。您的脚本无法运行。它弹出两个窗口,但不提示执行。还有一件事,当您以管理员身份运行脚本时,需要将完整路径设置为默认设置为C:\windows\System32。最简单的方法就是这样。start%~dp0\Directory\program.exe你读过关于新窗口的那行了吗?有关%dp0的详细信息,请参阅此处,它有时调用exe,有时不使用暂停替换start c:\BAT\fraps.exe并对其进行测试。它也不会在您期望的时候暂停,那么问题是没有被复制的文件。它会复制文件的新内容,但不会暂停或启动exe文件它不会暂停或启动exe,robocopy实际上正在运行,您会看到robocopy运行的屏幕输出,那么robocopy没有设置错误级别。这可能是因为您使用的robocopy版本已经过时,也可能仅仅是因为文件没有被复制。如果直接在robocopy命令后的行上放置pause,那么您将在屏幕上看到robocopy摘要,它将显示复制文件的时间和数量。我创建了所有新文件夹、bat文件和所有suff文件,但它仍然只复制文件而不启动.exe。还有一件事是启动单独的批处理文件,一个运行exe,另一个做拷贝,一切都很顺利。如果执行复制,调用.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