如何通过在 Windows 中的文件名之间添加通用名称来重命名多个文件?

Ezh*_*san 5 windows command-line rename

我想通过在现有名称之间添加一个通用名称来重命名n个文件。

例如

"LRHP 100055"
"LRHP 200452"
"HRVG 500002_thumb"
Run Code Online (Sandbox Code Playgroud)

我想将上述文件重命名为:

"LRHP 00100055"
"LRHP 00200452"
"HRVG 00500002_thumb"
Run Code Online (Sandbox Code Playgroud)

在数字前面我想加两个零。我现有的名字不应该改变。

Vom*_*yle 2

批处理脚本重命名并向文件名的一部分添加双零

在下面的示例中,我使用FOR /F循环来设置解析文件名部分的分隔符和标记,并使用它们来设置变量以供稍后与REN命令一起使用。我还利用Setlocal EnableDelayedExpansion来处理循环中设置的变量的扩展,以便在循环中每次迭代时通过重命名命令正确使用(不在运行时解析)。

要重命名的文件没有文件扩展名

@ECHO ON

SETLOCAL ENABLEDELAYEDEXPANSION
SET SourceDir=C:\Users\User\Desktop\Tester

FOR /F "TOKENS=1-2 DELIMS= " %%F IN ('DIR /B /A-D "%SourceDir%\*"') DO (
    SET "part1=%%~F" 
    SET "part2=%%~G" 
    SET "part3=%%~H"
    REN "%SourceDir%\!part1! !part2!" "!part1! 00!part2!"
)
GOTO EOF
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

带有要重命名的文件的文件扩展名

@ECHO ON

SETLOCAL ENABLEDELAYEDEXPANSION
SET SourceDir=C:\Users\User\Desktop\Tester

FOR /F "TOKENS=1-3 DELIMS=. " %%F IN ('DIR /B /A-D "%SourceDir%\*"') DO (
    SET "part1=%%~F" 
    SET "part2=%%~G" 
    SET "part3=%%~H"
    REN "%SourceDir%\!part1! !part2!.!part3!" "!part1! 00!part2!.!part3!"
)
GOTO EOF
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述


更多资源