如何通过删除特定名称、空格并添加唯一字符串来重命名多个文件?

如何通过删除特定名称、空格并添加唯一字符串来重命名多个文件?

我有n我想通过删除特定名称和空格来重命名文件数,并且我想添加具有新名称的唯一字符串:

例如

"MPKL 100055.jpg" 
"MPKL 200452.jpg" 
"MPKL 500002_thumb.jpg"

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

"00100055.jpg"
"00200452.jpg"
"00500002_thumb.jpg"

现有数字前面必须有两个零。

答案1

在下面的例子中,我使用了为/F循环设置分隔符和解析文件名部分的标记,并使用它们设置变量以供稍后使用命令。我还利用了设置本地启用延迟扩展相应地处理循环中设置的变量的扩展,以便在循环中每次迭代使用重命名命令进行正确使用(不在运行时解析)。

@ECHO ON

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

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

更多资源

答案2

我经常重命名文件,我发现使用起来非常方便批量重命名实用程序。它是免费的。您可以通过多种方式重命名文件夹和/或子文件夹中的文件和文件夹,包括更改扩展名。

答案3

@echo off

Setlocal enabledelayedexpansion

Set "Pattern=MPKL" 

Set "Replace=00"

For %%# in ("FOLDER_PATH/*.jpg") Do (

    Set "File=%%~nx#"

    Ren "%%#" "!folder!!file!" "!file: =!!File:%Pattern%=%Replace%!"


)

Pause&Exit

相关内容