批处理文件BAT批量修改文件名

2012-02-15 22:50:40|?次阅读|上传:wustguangh【已有?条评论】发表评论

关键词:文件操作, 操作系统|来源:唯设编程网

在Windows中修改文件名比较容易,但是如果你需要修改大量的文件名并满足一定的规则就不是一件容易的事情了,比如在所有jpg或者png图像文件名前增加当期的日期,本文从网上搜集了使用BAT批量修改文件名的方法,看完后,你将会发现批量修改文件名不再是困难的事。

1.bat重命名文件的命令

ren aaa.txt bbb.doc

解释:将 aaa.txt 命名为 bbb.doc

2.循环重命名一个文件夹下的所有结尾为xls的文件,前加上A_

for /f %%i in ('dir /b *.xls') do (ren %%i A_%%i)

3. 在原文件名前面加当前系统日期格式yyyyMMdd

@echo off
for /f "tokens=1,2,3 delims=- " %%a in ('date /t') do set day=%%a%%b%%c
for /f %%i in ('dir /b *.txt') do (ren %%i %day%%%i)

解释:tokens=1,2,3 delims=- 以‘-’为分隔符,将当前日期截取为三部分,分别付给a,b,c,

         设置day变量为截取到的三部分的结合,set day=%%a%%b%%c,即day=格式为yyyyMMdd的当天日期

         循环修改同一目录下的文件名,*.txt的都会被修改; i为原文件名

4.现有一堆照片,命名格式为0001.jpg,0002.jpg,0003.jpg,…,00020.jpg,……

要求在所有文件名前加上A_

@echo off
rem 启用"延缓环境变量扩充"
setlocal EnableDelayedExpansion
set a=1
rem 循环当前目录下所有图片的文件名,支持带空格的名称
for /f "delims=" %%i in ('dir /b *.jpg') do (
    rem 如果没有相同的文件名,则继续

    if not "%%~ni"=="%~n0" (
        if !a! LSS 10 (ren "%%i" "A_000!a!.jpg") else ren "%%i" "A_!a!.jpg"
       rem 设置数值型变量a=a+1
        set /a a+=1
    )
)
echo 批量重命名完成!
pause

 

发表评论0条 】
网友评论(共?条评论)..
批处理文件BAT批量修改文件名