如何修改批处理脚本实现批量文件名转小写并移除特殊字符?
批量修改文件名:转小写并移除特殊字符
你的需求是将文件夹内文件名批量转为小写,并移除特殊字符,原脚本仅尝试转小写但写法错误,且未处理特殊字符,以下是修改后的完整脚本及说明:
需求示例
- 原文件名:
- ⚡ Document.txt
- [Review] Test File.txt
- 期望结果:
- document.txt
- review test file.txt
修改后的批处理脚本
@echo off setlocal enableDelayedExpansion :: 目标文件夹,当前文件夹则用".",可自行修改路径 set "currentfolder=." pushd %currentfolder% for %%f in (*) do ( :: 跳过脚本自身,避免被修改 if "%%~nxf"=="%~nx0" continue :: 拆分文件名和扩展名 set "name=%%~nf" set "ext=%%~xf" :: 1. 将文件名转为小写 for %%A in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do ( set "name=!name:%%A=%%a!" ) :: 2. 替换特殊字符为空格(可根据需求添加更多特殊字符) set "name=!name:⚡= !" set "name=!name:[= !" set "name=!name:]= !" set "name=!name:!= !" set "name=!name:#= !" set "name=!name:$= !" set "name=!name:%= !" set "name=!name:^= !" set "name=!name:&= !" set "name=!name:*= !" set "name=!name:(= !" set "name=!name:)= !" set "name=!name:-= !" set "name=!name:_= !" set "name=!name:+ = !" set "name=!name:= = !" set "name=!name:{= !" set "name=!name:}= !" set "name=!name:|= !" set "name=!name:\= !" set "name=!name:/= !" set "name=!name:;= !" set "name=!name:'= !" set "name=!name:"= !" set "name=!name:< = !" set "name=!name:> = !" set "name=!name:,= !" :: 3. 合并连续空格为单个空格 :trim_spaces if "!name: = !" neq "!name!" ( set "name=!name: = !" goto trim_spaces ) :: 4. 去除文件名首尾的空格 for /f "tokens=* delims= " %%B in ("!name!") do set "name=%%B" for /f "tokens=* delims= " %%B in ("!name!"^) do set "name=%%B" :: 5. 扩展名也转为小写 set "ext=!ext:~1!" for %%A in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do ( set "ext=!ext:%%A=%%a!" ) set "newfilename=!name!.!ext!" :: 仅当新文件名与原文件不同时执行重命名 if "!newfilename!" neq "%%~nxf" ( ren "%%f" "!newfilename!" >nul 2>&1 echo 已重命名: "%%~nxf" ^>^> "!newfilename!" ) ) popd endlocal pause
关键修改说明
- 修复转小写逻辑:原脚本循环小写字母做无意义替换,改为遍历大写字母,替换为对应小写字母,实现真正的转小写。
- 添加特殊字符处理:通过逐个替换的方式,将常见特殊字符(如⚡、[]、!等)转为空格,可根据实际需求补充更多字符。
- 优化空格格式:合并连续空格、去除首尾空格,避免文件名出现冗余空格。
- 扩展名统一小写:确保文件扩展名也转为小写,符合需求格式。
- 安全判断:跳过脚本自身,且仅在新文件名不同时执行重命名,避免无效操作或报错。
修改前后对比
处理前

处理后

内容的提问来源于stack exchange,提问作者Hendra
相关产品推荐
相关产品推荐

