我有一个.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