Windows下批量对文件重命名(bat实现)

问题:希望把文件名命成有规律的,但c或者php显得牛刀杀鸡,比较简单,而且可扩展的方式,也即是采用bat文件实现,原因有二:不需要搭建额外的IDE环境和运行平台,记事本做IDE,windows作为运行平台;高扩展性,用记事本,即可实现个性化定制。

解决方案:讲以下代码存入txt文件,修改后缀为.bat,例如改名为rename.bat(点击下载),将bat文件放入要命名的文件夹中,执行即可。

@echo off
setlocal enabledelayedexpansion
set n=1
for /f %%i in ('dir /b *') do (
ren "%%i" A!n!.apk
set /a n+=1)
echo 批量重命名完成! 
pause

结果:文件下所有文件都被命名成A1.apk、A2.apk、A3.apk…………


发现另外一个问题,文件名中含有空格的文件无法被正常重命名,于是考虑采用另外一个bat文件做辅助,进行预处理。使用时机在以上rename.bat之前,使用方法和rename.bat相同,例如文件名为de_blank.bat(点击下载),de_blank.bat代码如下:

@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%i in ('dir /s/b *.*') do (
set "foo=%%~nxi"    
set foo=!foo: =!    
set foo=!foo: =!    
ren "%%~fi" "!foo!"
)
exit

结果:所在文件夹中文件名中空格均被去除。达到预期效果

友情提醒:经实测,建议批处理文件不要超过800个,否是容易产生不可预估的错误,该问题可能与windows本身有关。

浏览量(180) | 此条目发表在计算机分类目录,贴了, 标签。将固定链接加入收藏夹。