2015-09-05 72 views
0

所以现在我有2个.bat文件。如果它被更新(robocopy C:\位置C:\目标)和另一个执行某种.exe文件(启动c:\ BAT \ fraps.exe),现在我什么我复制一些文件需要的可能是一个文件,因此当使用“robocopy”复制文件时,执行文件将自动运行。所以也许有办法将它们合并为一个或是不合适。需要协助合并两个批处理文件(.bat)

+1

为什么你不能用batch1中的所有命令创建一个新的批处理文件,然后是batch2中的所有命令?或者一个单独的批处理文件来调用batch1然后batch2。 –

回答

0

错误级别由robocopy设置:errorlevel 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 
+0

它有时会调用exe有时不 –

+0

用'暂停'替换'start c:\ BAT \ fraps.exe'并测试它。它也不会暂停,当你期望它时,那么问题是没有文件被复制。 – foxidrive

+0

它没有复制文件的新内容,但不会暂停或启动exe文件 –

0

使用/ WAIT选项,当应用程序盯着那么它会等待,直到它结束。

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

例子:

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.

参见下面链接的更多细节。

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?

这是我的第一篇文章,我希望这将帮助你的详细信息。

+0

。我需要它像一天24小时运行,所以当我做了一个循环(虽然也许我的循环很糟糕),我不得不拔掉我的电脑,因为有太多的窗口弹出。其次它复制文件,但不启动exe文件 –

+0

要全天候运行,您需要安排脚本。你在脚本中运行什么类型的循环? 检查_foxidrive_提到的错误。可能是有权限问题,以管理员身份运行脚本。 – Kashif

+0

你的脚本不起作用。它会弹出两个窗口,但不会提示执行.exe –