惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

美团技术团队
T
The Blog of Author Tim Ferriss
月光博客
月光博客
阮一峰的网络日志
阮一峰的网络日志
Engineering at Meta
Engineering at Meta
量子位
I
InfoQ
Jina AI
Jina AI
Microsoft Security Blog
Microsoft Security Blog
H
Help Net Security
H
Hackread – Cybersecurity News, Data Breaches, AI and More
G
Google Developers Blog
J
Java Code Geeks
Recent Announcements
Recent Announcements
aimingoo的专栏
aimingoo的专栏
小众软件
小众软件
V
V2EX
腾讯CDC
P
Proofpoint News Feed
A
About on SuperTechFans
爱范儿
爱范儿
U
Unit 42
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Last Week in AI
Last Week in AI

博客园 - meil

C#下取得Exif中照片拍摄日期 DotNet中人民币符号的输出 Wicket中JQuery事件绑定失效的解决 软件开发中的完整测试所包括的环节UT、IT、ST、UAT Eclipse中SVN插件的安装方式 从mysql中导出单个表结构和数据 代码帝:一个月10万行代码 PHP中使用mktime获取时间戳的一个黑色幽默 Android开发调试工具ADB的使用 Android系统权限配置 Android程序开发基础之——页面传值 Android程序开发基础之——页面布局 Android程序开发的环境配置 SQLServer2008 动态SQL实践 ASP.net中实现双表格同步缩放不变形 Javascript实现DIV滚动自动滚动到底部 SQL Server 日期格式转换示例大全 TinyMCE使用手册 LINQ中的OrderBy实现多字段升序、降序排序实现
BAT实现照片文件批量改名
meil · 2013-03-12 · via 博客园 - meil

平时喜欢拍照的朋友会有一个烦恼,照片拍得多了,想找到某张自己想要的照片会很麻烦,如果能够把自己每次拍得照片文件的文件改成一些有意义的名字,那么以后再查找的时候会很方便的。

但这种重复工作如果手工做会耗费大量的时间,如果能够自动作那在方便不过了。我也曾经用过很多改名的软件但是由于效率或者其他问题,往往用过几次就放弃了。

最近工作原因使用了window下的bat,发现用它来写一些想改名这样的程序比较方便,而且效率要比很多工具要高效、灵活。

啰嗦了这么的多还是给大家分享一下我的实现代码吧!

 1 @ECHO OFF
 2 REM 变量延迟
3 SETLOCAL ENABLEDELAYEDEXPANSION 4 5 REM File List 6 SET LIST=list.txt 7 8 REM Log File 9 SET LOG=exec.log 10 11 REM Get file list 12 IF EXIST "%LIST%" ( 13 del %LIST% >> %LOG% 14 ) 15 dir/b/o-d/a *.jpg >> %LIST% 16 17 FOR /F "tokens=1,2 delims=." %%a IN (%LIST%) DO ( 18 19 SET /a x=!x!+1 20 SET nm=00000!x! 21 22 REM file rename 23 ren %%a.%%b PIC!nm:~-3!.JPG 24 ECHO ren %%a.%%b PIC2!nm:~-3!.JPG >> %LOG% 25 26 ) 27 28 ECHO Success!!! >> %LOG%

 批处理执行后的效果:

exec.log是bat文件执行后的log文件。

list是原来文件的列表。

其实原理很简单,就是用DOS的DIR命令获取当前目录下的文件列表

dir/b/o-d/a *.jpg >> %LIST%

利用Dos的重定向方法将列表导入到list.txt文件中,之后循环这个列表完成文件名的重命名。

这里只实现了图片文件的重命名,其实朋友们稍加改动就可以实现其他类型文件的重命名。这里只是抛砖引玉大家可以自由发挥,Bat虽然很“古老”了,但是善加利用其实可以让我们的很多工作更加便利的。