搜索
虾皮社区 首页 编程开发 操作系统 windows 查看内容

如何批量去除文件名中重复的文件名

2023-2-17 22:20| 发布者: happyxp| 查看: 474| 评论: 0

摘要: 1、推荐使用批处理文本,方便快捷:@echo offset /p str1= 请输入要替换的文件(文件夹)名字符串(可替换空格):set /p str2= 请输入替换后的文件(文件夹)名字符串(去除则直接回车):echo.echo 正在修改文件(夹)名 ...
1、推荐使用批处理文本,方便快捷:
@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 文件,然后放到需要替换的文件夹中。
双击运行
在这行直接输入要替换的文件名称后回车,可以ctrl+c复制之后在运行界面直接点右键后回车,例如:[www.xp6.org]
请输入要替换的文件(文件夹)名字符串(可替换空格):
这样填入需要替换的名称,如果是删除直接回车即可
请输入替换后的文件(文件夹)名字符串(去除则直接回车):

更进阶的用法,加入文件夹替换:

@echo off
set /p str1= 请输入要替换的文件 / 文件夹名字符串(空格亦适用):
set /p str2= 请输入替换后的文件 / 文件夹名字符串(删除则直接回车):
set /p str3= 请选择 仅处理文件(输入1)/ 仅处理文件夹(输入2)/ 均需要处理(输入3):
echo=
echo 正在修改中,请稍候……(完成后会自动退出!)

::-----文件-----
if %str3% EQU 1 (set decision='dir /a:-d /b')
::-----文件夹-----
if %str3% EQU 2 (set decision='dir /a:d /b')
::-----文件+文件夹-----
if %str3% EQU 3 (set decision='dir /b')
 
for /f "tokens=* delims=" %%i in (%decision%) do (
if "%%~nxi" neq "%~nx0" (
set "file=%%i"
set "name=%%~ni"
set "extension=%%~xi"
call set "name=%%name:%str1%=%str2%%%"
setlocal enabledelayedexpansion
ren "!file!" "!name!!extension!" 2>nul
endlocal
)
)
exit

第一种方案已经打包可以直接下载使用,几百字节的文件:
2、也可以使用软件
例如:Total Commander、菲菲更名宝贝、Renamer等软件工具。

路过

雷人

握手

鲜花

鸡蛋

相关分类

虾皮社区,成立十年了!

站长自己也搞不懂想做个什么,反正就是一直在努力的做!

Copyright © 2007-2024 xp6.org Powered by Discuz

QQ|Archiver|手机版|小黑屋|虾皮社区 |网站地图
返回顶部