批处理脚本重命名文件夹参数中的文件

时间:2010-12-14 05:31:14

标签: batch-file

我找不到任何引用解释如何循环作为参数传递的文件夹并重命名每个文件。我见过的所有示例都假设脚本在文件夹中运行,文件夹将被重命名或硬编码循环中的文件夹路径。我怎样才能做到这一点?这是我正在尝试做的一个例子:

for /f %%a in (%1) do call :RenameFiles

:RenameFiles
Rename %%a "new filename"
Goto :EOF

1 个答案:

答案 0 :(得分:1)

以下内容将“renamed-”前缀添加到指定为命令行参数的目录中的每个文件:

for %%F in (%~1\*) do ren "%%~F" "renamed-%%~nxF"

编辑无限循环问题的最简单解决方案是分两个阶段工作:

  1. 准备操作列表
  2. 执行计划。
  3. -

    set OpList=%TEMP%\%~n0%RANDOM%.bat
    copy nul "%OpList%"
    for %%F in (%~1\*) do echo ren "%%~F" "renamed-%%~nxF" >> "%OpList%"
    call "%OpList%"
    del "%OpList%"