【转载】【Windows批处理IV】批量进行文件重命名

1.过滤文件名中所有数字、汉字、特殊字符(含空格)

@echo off
for %%a in (*.*) do (
if "%%~nxa" neq "%~nx0" (
set "name=%%~na"
setlocal enabledelayedexpansion
set name1=!name!
call :lp
ren "!name!%%~xa" "!nam!%%~xa"
set "nam="
endlocal
)
)
pause
:lp
if defined name1 (
set "var=!name1:~,1!"
if "!var!" leq "Z" (
if "!var!" geq "a" (
set "nam=!nam!!var!"
))
set "name1=!name1:~1!"
goto lp
)

2.不过滤数字

@echo off
setlocal enabledelayedexpansion
set "n=1000"
for /f "delims=" %%a in ('dir/b *.jpg') do call :a "%%a"
for /f "delims=" %%a in ('dir/b/od *.jpg') do set/a "n+=1"&ren "%%a" "!n:~-3!%%~xa"
exit
:a
ren "%~1" "%random%%~x1" || goto a

貌似含正则表达式语法,真心没看懂!以后研究吧。

参考: http://blog.csdn.net/subkiller/article/details/7346794

上一篇:简简单单,我用了5幅图就拿下了ARP协议。


下一篇:TC8:ARP_41-47