Windows下用脚本批量重命名文件

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zuliang001/article/details/83501981

1. 我的效果:

在这里插入图片描述

2. reference

reference:https://blog.csdn.net/txz317/article/details/52326041


在Windows下可以用脚本批量重命名文件,且可以将文件名按指定的字符串格式命名,并按序号递增或递减。脚本如下:

@echo off&setlocal EnableDelayedExpansion 
set a=1 
for /f "delims=" %%i in ('dir /b *.wav') do ( 
if not "%%~ni"=="%~n0" ( 
if !a! LSS 10 (ren "%%i" "sp0!a!_airport_sn0.wav") else ren "%%i" "sp!a!_airport_sn0.wav" 
set/a a+=1 
) 
)

命令解释:
set a = 1 是设置递增的变量,文件递增或递减的起始值

第三行中括号内 (dir /b .wav)中.wav可以替换成任意可以匹配的字符串,如匹配含有string,且后缀是jpg的文件,则可以(dir /b *string*.jpg)

第三行是说如果文件名和自己本身一样,则不替换,否则脚本运行时会把自己也更改掉

第五行的if判断是为了统一编号命名,当a小于10时,比如a等于1,则命名时为01;双引号内的“sp0!a!_airport_sn0.wav” 是文件名的命名格式,可以任意替换。

set/a a+=1 ,设置递增变量,也可以设置为递减,或者任意递增递减区间

注意:
请将脚本修改并复制到记事本中,并另存为.bat文件(ren.bat),另存为的时候文件类型选“任何文件”,文件名后缀上加.bat。
务必将此脚本放在需要重命名的文件夹下,就是说此脚本应该要和需要重命名的文件放在同一目录下。


3. 我的实验:

在这里插入图片描述
在这里插入图片描述

@echo off&setlocal EnableDelayedExpansion 
set a=1 
for /f "delims=" %%i in ('dir /b *.jpg') do ( 
if not "%%~ni"=="%~n0" ( 
if !a! LSS 10 (ren "%%i" "car00!a!.jpg") else if !a! LSS 100 (ren "%%i" "car0!a!.jpg") else ren "%%i" "car!a!.jpg" 
set/a a+=1 
) 
)

猜你喜欢

转载自blog.csdn.net/zuliang001/article/details/83501981