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)
在数字前面我想加两个零。我现有的名字不应该改变。
在下面的示例中,我使用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)