windows 批量重命名

之前找过一个批量重命名的脚本,后来不知道扔哪了。所以这次还是记录到博客上,免得又找不到。

新建一个 txt 文件,拷贝如下内容:

@echo off
	set /p str1= 请输入要替换的文件(文件夹)名字符串(可替换空格):
	set /p str2= 请输入替换后的文件(文件夹)名字符串(去除则直接回车):
echo.
echo 正在修改文件(夹)名中,请稍候……
for /f "delims=" %%a in ('dir /s /b ^|sort /+65535') do (
	if "%%~nxa" neq "%~nx0" (
		set "file=%%a"
		set "name=%%~na"
		set "extension=%%~xa"
		call set "name=%%name:%str1%=%str2%%%"
		setlocal enabledelayedexpansion
		ren "!file!" "!name!!extension!" 2>nul
		endlocal
	)
)
exit

文件另存为 bat 格式,编码方式选择 ANSI。因为 cmd 不认 utf-8。

把文件放到需要执行的文件夹里,双击,根据提示输入即可。


参考:如何批量去除文件名中的某些字符串? – 知乎 (zhihu.com)