【问题标题】:Can I batch rename files with folder name and sequence number?我可以用文件夹名称和序列号批量重命名文件吗?
【发布时间】:2026-01-24 05:25:02
【问题描述】:

我可以使用以下脚本重命名所有目录和子目录中的文件

@Echo OFF

FOR /D /R %%# in (*) DO (
    PUSHD "%%#"
    FOR %%@ in ("index*") DO (
        Echo Ren: ".\%%~n#\%%@" "%%~n#%%~x@"
        Ren "%%@" "%%~n#%%~x@"
    )
    POPD
)

Pause&ExiT

有没有办法修改脚本,当目录中有多个文件时,在第二个答案中按顺序重命名文件对我来说效果很好?

例如,文件夹名称是 image,我希望将文件命名为 image1.jpg image2.jpg(保留扩展名)。非常感谢帮助

【问题讨论】:

  • 以后尽量不要使用html来格式化你的代码示例。 Markdown 更简单,更受欢迎*.com/editing-help
  • 你有什么特殊的理由在循环变量名中使用#和@吗?他们混淆了代码。
  • 不,我在这里找到了代码 - *.com/questions/16266930/…

标签: windows batch-file command


【解决方案1】:

试试这个:

@Echo OFF
setlocal enabledelayedexpansion
FOR /D /R %%# in (*) DO (
    PUSHD "%%#"
    FOR %%@ in ("index*") DO (
        set /a "inc+=1"
        Echo Ren: ".\%%~n#\%%@" "%%~n#!inc!%%~x@"
        Ren "%%@" "%%~n#!inc!%%~x@"
    )
    POPD
)

Pause&Exit

【讨论】:

  • 您可以接受答案,以后搜索的人会立即知道它值得一看。
  • 抱歉无法在评论中明确说明,所以我问了另一个问题,请在这里找到,非常感谢*.com/questions/21632266/…
最近更新 更多