如何批量删除文件名中的指定字符?例如我们在工作中有几十个文件,这些文件由于包含了某些相同的文字,所以文件名称特别长,阅读和查找的时候十分不便,所以需要将这些文件名中的相同指定字符删掉。在我们不知道如何批量处理的时候,就只能乖乖的一个一个重命名进行删除,太浪费时间了。有一个批量删除文件名中相同字符的方法分享给大家。
@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
@goto label
备注:
对于运行.bat文件,出现中文提示字符乱码问题:
是因为编辑批处理文件时,需以ANSI方式编辑。
若以别的方式(如UTF-8)编辑了批处理,则需转换成ANSI格式。
解决办法:
windows自带的记事本保存(另存为)文件时即可选择ANSI编码方式。
:label
- 新建一个文本文件,写入以上代码,保存为.bat文件。
- 右键,以管理员权限运行。