批量删除/修改文件名中的某些字符串
问题解决
1.首先要批处理文件(夹),放在同一文件目录下。如:
2.在该目录下,新建文本文件,输入以下代码,如:
set /p str1= 请输入要替换的文件(文件夹)名字符串(可替换空格):
set /p str2= 请输入替换后的文件(文件夹)名字符串(若删除直接回车):
for /f "delims=" %%a in ('dir /s /b ^|sort /+65535') do (
if "%%~nxa" neq "%~nx0" (
call set "name=%%name:%str1%=%str2%%%"
setlocal enabledelayedexpansion
ren "!file!" "!name!!extension!" 2>nul
3.修改文本文件.txt后缀名为.bat。
4.点击运行,输入要替换的文件(夹)中的字符串,和要替换后的字符串。(若想删除直接回车)如:
最终效果:
备注:
对于运行.bat文件,出现中文提示字符乱码问题,如:
原因:
编辑批处理文件时,以ANSI方式编辑。若以别的方式(如UTF-8)编辑了批处理,需转换成ANSI格式即可。
解决办法:
windows自带的记事本保存(另存为)文件时即可选择编码方式。
效果如下: