2015-09-05 73 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 –