我找不到任何引用解释如何循环作为参数传递的文件夹并重命名每个文件。我见过的所有示例都假设脚本在文件夹中运行,文件夹将被重命名或硬编码循环中的文件夹路径。我怎样才能做到这一点?这是我正在尝试做的一个例子:
for /f %%a in (%1) do call :RenameFiles
:RenameFiles
Rename %%a "new filename"
Goto :EOF
答案 0 :(得分:1)
以下内容将“renamed-”前缀添加到指定为命令行参数的目录中的每个文件:
for %%F in (%~1\*) do ren "%%~F" "renamed-%%~nxF"
编辑无限循环问题的最简单解决方案是分两个阶段工作:
-
set OpList=%TEMP%\%~n0%RANDOM%.bat
copy nul "%OpList%"
for %%F in (%~1\*) do echo ren "%%~F" "renamed-%%~nxF" >> "%OpList%"
call "%OpList%"
del "%OpList%"