标题: [文件操作] 如何将文件名中除指定字符(英文数字)以外的所有字符替换为其他字符 [打印本页]
作者: l510308 时间: 2017-4-13 11:33 标题: 如何将文件名中除指定字符(英文数字)以外的所有字符替换为其他字符
本帖最后由 pcl_test 于 2017-4-13 11:43 编辑
重命名文件替换英文数字以外的所有字符
將 英文 數字 以外的字符以"_"替換
最终文件名只会有 英文 数字 下划线
扩展名不变更
例如
[太阳sun][01].jpg -> ___sun__01_.jpg
La La Land.2016.(1280x720).mp4 -> La_La_Land_2016__1280x720_.mp4
求教了
作者: taofan712 时间: 2017-4-13 16:59
- @echo off
- setlocal enabledelayedexpansion
- for /f "delims=" %%a in ('dir /a-d /b *.*') do (
- set "fn=%%~na"
- call :judge "%%~na" "%%~xa"
- )
- echo;over&pause>nul
- exit
-
- :judge
- setlocal
- set "fn=%~1"
- set "fx=%~2"
- for /l %%a in (0 1 35) do (
- if not "!fn:~%%a,1!"=="" (
- echo;!fn:~%%a,1!|findstr [a-Z0-9]>nul&&set "fn_=!fn_!!fn:~%%a,1!"||set "fn_=!fn_!_"
- ) else (
- ren;"%~1%~2" "!fn_!%~2"
- endlocal
- goto :eof
- )
- )
- ren;"%~1%~2" "!fn_!%~2"
- endlocal
- goto :eof
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |