批量删除/修改文件名中的某些字符串

问题解决

1.首先要批处理文件(夹),放在同一文件目录下。如:

2.在该目录下,新建文本文件,输入以下代码,如:

![]( https://img-blog.csdnimg.cn/20200907190359224.png?x-oss-process=image/watermark ,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzA0MjY4Mw==,size_16,color_FFFFFF,t_70)

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.点击运行,输入要替换的文件(夹)中的字符串,和要替换后的字符串。(若想删除直接回车)如:

![]( https://img-blog.csdnimg.cn/20200907191015401.png?x-oss-process=image/watermark ,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzA0MjY4Mw==,size_16,color_FFFFFF,t_70)

最终效果:

![]( https://img-blog.csdnimg.cn/20200907191101787.png?x-oss-process=image/watermark ,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzA0MjY4Mw==,size_16,color_FFFFFF,t_70)

备注:

对于运行.bat文件,出现中文提示字符乱码问题,如:

![]( https://img-blog.csdnimg.cn/20200907191211802.png?x-oss-process=image/watermark ,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzA0MjY4Mw==,size_16,color_FFFFFF,t_70)

原因:

编辑批处理文件时,以ANSI方式编辑。若以别的方式(如UTF-8)编辑了批处理,需转换成ANSI格式即可。

解决办法:

windows自带的记事本保存(另存为)文件时即可选择编码方式。

![]( https://img-blog.csdnimg.cn/20200907190800917.png?x-oss-process=image/watermark ,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzA0MjY4Mw==,size_16,color_FFFFFF,t_70)

效果如下:

![]( https://img-blog.csdnimg.cn/20200907190852131.png?x-oss-process=image/watermark ,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzA0MjY4Mw==,size_16,color_FFFFFF,t_70)

posted @ 2023-05-29 16:09  yangstar  阅读(2536)  评论(0)    收藏  举报