我有一個.bat文件,它對文件夾中的文件執行一些操作。但之前,它會詢問用戶是否也要在子文件夾中執行這些操作。在此之後,腳本與價值/ R或空,根據用戶輸入的內容變量%遞歸%,並運行這樣的命令:如何爲命令行參數創建變量?
for %recursive% %folder% ...
它不工作,當然。我不能做兩個FOR命令(帶遞歸參數,沒有它),因爲它們都有相同的代碼。 你會建議我做什麼? 在此先感謝。
的代碼是:
:LoopStart
set /p recursive="Including sub-folders? [y] or [n]: "
IF /I "%recursive%"=="y" (
set "myFOR=for /r"
GOTO :LoopEnd
) ELSE (
IF /I "%recursive%"=="n" (
set "myFOR=for"
GOTO :LoopEnd
) ELSE (
GOTO LoopStart
)
)
:LoopEnd
%myFOR% %img_dir% %%i in (*.jpg,*.emf,*.png,*.jpeg,*.gif) do (
echo This is file %%~nxi
)
它在ELSE中不起作用。我不知道爲什麼,即使插入了PAUSE,也會關閉窗口。 – Cuder
@Cuder:你可以包含你的代碼,看看爲什麼? –
當然,我已經做到了。 – Cuder