0
我正在編寫批處理腳本以從其目錄中提取視頻文件。
到目前爲止,它將進入與特定名稱匹配的目錄。然後,我在該目錄中的每個項目上循環執行FOR
循環。我想檢查一個項目是否是一個目錄(,我以前做過),如果它是進入該目錄,否則做其他的東西。
IF聲明中斷批處理腳本
的問題是,第二IF
聲明(的檢查項目是否是一個目錄或不)更是打破了批處理腳本,給人的錯誤:
) was unexpected at this time
如果我刪除IF
,代碼按預期執行(我已清楚標記了哪個IF
陳述在代碼中)...
CODE:
@ECHO off
SET title=%1
SET mp4=".mp4"
SET mkv=".mkv"
SET avi=".avi"
SET minimumSize=300
SET needCompressingDir="E:\Documents\Films\Need_compressing"
CD %needCompressingDir%
FOR /f "delims=" %%i IN ('DIR /B') DO (
IF %%i == %title% (
IF EXIST %%i (
CD %%i
FOR /f "delims=" %%j IN ('DIR /B') DO (
rem this 'IF' statement breaks it
IF EXIST %%j (
) ELSE (
)
)
) ELSE (
MOVE %%i %needCompressingDir%
)
)
)
'%% j'返回的任何文件名是否都包含空格?你應該嘗試使用'if exists'%% j「'(和'if exists'%% i''')來代替。 – SomethingDark
@SomethingDark是的,這完全有可能發生,謝謝你的洞察力,並會嘗試這種方法,當我可以 – wmash
嘗試'IF EXIST'%%〜j「' – npocmaka