欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【bat】批量修改文件名脚本

程序员文章站 2022-07-12 23:49:39
...

有人托我写个批量修改文件名的脚本,之前没有写过bat,现学现卖,在此记录一下。

具体代码如下:

rem 关闭调试输出,开启延迟变量
@echo off&setlocal enabledelayedexpansion 
rem 读取输入的前缀
set/p a1=请输入想要添加的前缀:
rem 遍历当前目录下的所有文件夹
for /f "delims=" %%a in ('dir /b /a:d') do ( 
    set n=%%a
    rem 截取前面四个字符
    set n=!n:~0,4!
    echo 将%%a转成%a1%!n!
    rem 重命名文件夹,添加指定前缀    
    ren "%%a" "%a1%!n!"
)
pause

遇到的几个坑:

  1. 不要随便加空格。这点和其他语言不太一样,如写成set n = %%a,很可能出现意想不到的问题。
  2. for循环后面的括号里面算一句代码,所以循环体中定义的变量无法修改。开始写成set n=%n:~0,4%,发现始终没起作用。解决办法是开启(enabledelayedexpansion)并使用延迟变量(如!a!)。
相关标签: bat