使用Windows Bat批处理命令批量替换文件名

很早之前都有在Windows下批量替换文件名的需求,当时下过一些软件也不好用,而Windows的cmd.exe命令也不太熟。不过今天我调试成功,文件名也已完美替换。

应用场景

一般批量下载的电影都会带有(xxx.com)的宣传,这简直就是牛皮癣广告嘛。另外这样的文件名包含特殊字符,处理起来也很不方便,譬如Markdown图片地址的引用![](url)url遇到(会中断,导致图片引用失败。

今天要替换的有两部分,都是去掉”(ED2000.COM)”字样,见下图:

文件列表一

文件列表二

代码

我在参考了一个博文后,进一步做了些优化。可传参确定需要替换的字符串,如下:

@echo off
:main
cls
set str=
set /p str=    请输入字符串(退出请直接按回车):
if not defined str exit
cls
echo.
@Echo Off&SetLocal ENABLEDELAYEDEXPANSION 
FOR %%a in (*) do ( 
    set "name=%%a" 
    set "name=!name:%str%=!" 
    ren "%%a" "!name!" 
) 
echo.
echo         按任意键进行下一次演示...
pause>nul
goto main

运行

只需要将上述代码复制,保存成rename.bat,放入当前需要替换的目录,执行后输入字符串即可。


动态演示

效果更直观。

参考

利用批处理命令批量修改文件名

热评文章