ECHO OFF
setlocal enabledelayedexpansion
CD C:\Work\
FOR /D /r %%G in ("t*") DO (
START C:\prg.exe %%G\input_1 %%G\input_2 %%G\cpp_output
FOR /D /r %%H in (%%G\cpp_output\*.txt) DO (
FOR /F %%i in ("%%H") DO (
@set FN=%%~nxi DO (
START C:\Work\compareResults.m %%G\matlab_output\FN.txt %%G\cpp_output\FN.txt
)
)
)
)
PAUSE
我一直試圖讓這個.bat代碼運行,但它不起作用 - 一個窗口快速打開和關閉 - 即prg沒有運行。但是,當我運行時:似乎無法在Windows批處理文件的循環中運行多個命令
ECHO OFF
setlocal enabledelayedexpansion
CD C:\Work\
FOR /D /r %%G in ("t*") DO (
START C:\prg.exe %%G\input_1 %%G\input_2 %%G\cpp_output
)
PAUSE
prg正在運行。我想這似乎有額外的命令有問題,但我不知道問題是什麼。 根據http://ss64.com/nt/for.html,可以在一個單獨的命令中使用幾條命令,並且它們可以在不同的行中。然而,這並沒有工作,所以我嘗試使用&有多個命令,我也嘗試使用脫字符(^)來斷行。由於批處理窗口消失得太快,所有這些似乎都無法工作,甚至無法真正調試任何東西。任何想法,我做錯了什麼?甚至如何調試.bat程序?
啓動一個CMD控制檯,導航到您的文件並通過鍵入它的名稱和回車來運行它。這樣你就可以看到輸出,而不僅僅是一個窗口的打開和關閉。 Plz告訴我們錯誤信息在說什麼。 – MichaelS 2015-02-09 16:26:12
'@set ... DO('不是一個有效的命令。刪除'DO(' – 2015-02-09 16:34:57
@MichaelS我得到DO(在這個時候意外的是 – user3872358 2015-02-09 16:35:08