批量修改或删除文件(夹)名中的某些字符串

批量修改或删除文件(夹)名中的某些字符串

如何批量删除文件名中的指定字符?例如我们在工作中有几十个文件,这些文件由于包含了某些相同的文字,所以文件名称特别长,阅读和查找的时候十分不便,所以需要将这些文件名中的相同指定字符删掉。在我们不知道如何批量处理的时候,就只能乖乖的一个一个重命名进行删除,太浪费时间了。有一个批量删除文件名中相同字符的方法分享给大家。

@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文件。右键,以管理员权限运行。

1、删除字符

2、修改字符

相关推荐