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本身有关。

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

Windows下批量对文件重命名(bat实现)》有3条回应

  1. 乘风破浪的不止姐姐 China Google Chrome Windows 说:

    @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

    这个脚本把.bat文件也转化成了.apk文件

  2. 很看好 China Google Chrome Windows 说:

    这是什么语言

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据