2014-02-27 106 views
0

我已經在批處理腳本中編寫了下面的代碼。批處理腳本在IF命令之前意外終止

set /p timestamp=Enter timestamp: 
cd "C:\temp\%timestamp%" 
for %%a in (*.rmt) do (bldtool -c COMMAND -a SPLIT -n %%a -l C:\temp\%timestamp%) 
if exist "C:\temp\%timestamp%\XCLES01A.c" (xcopy /Y "C:\Program Files\CA\AllFusion Gen\GEN\extrn\src\XCLES01A.c" "C:\temp\%timestamp%") 
for %%a in (*.icm) do (bldtool -c COMMAND -a BUILD -n %%a -l C:\temp\%timestamp% -f CodeMgr) 
pause 

當我在cmd中逐行運行上述腳本時,它按預期方式運行。但是,當我以腳本的形式運行它時,它會在執行if命令之前終止,即窗口會消失。

我花了幾個小時試圖解決這個問題,我仍然堅持。請幫忙 !我對批處理腳本非常陌生。

在此先感謝。

更新:BLDTOOL是一個可執行軟件。

+4

是'bldtool'一個批處理文件?如果是這樣,你需要使用'call bldtool ....'來執行回到你的調用代碼。 –

+0

嗨,你能告訴我們什麼是「bldtool」。謝謝。 – 09stephenb

+0

嗨! BLDTOOL是一個可執行軟件。但是,我改變它調用BLDTOOL只是爲了看看它是否工作,它確實!謝謝!! – user3331568

回答

0

試試這個(我沒有雖然):

set /p timestamp=Enter timestamp: 
cd /D "C:\temp\%timestamp%" 

for %%a in (*.rmt) do (
    bldtool -c COMMAND -a SPLIT -n %%a -l "C:\temp\%timestamp%" 
) 

if exist "C:\temp\%timestamp%\XCLES01A.c" (
    xcopy /Y "C:\Program Files\CA\AllFusion Gen\GEN\extrn\src\XCLES01A.c" "C:\temp\%timestamp%" 
) 

for %%a in (*.icm) do (
    bldtool -c COMMAND -a BUILD -n %%a -l "C:\temp\%timestamp%" -f CodeMgr 
) 

pause