昨天加班赶个项目,有个处理,在多个目录生成了很多中间文件,需要修改这些中间文件的扩展名,这是一个很简单的事情,在linux/unix下几条简单的Shell教本就可以完成,而在Windows下通过使用批处理教本也可以做到,可是Windows下的批处理命令已荒废多年,那就想去下载个批量改文件名的工具来,到嬴政网一看,文件批量修改的工具是有,而且很多,可是都不满意,前后下载了“文件批量更名大师”、“拖把更名器”等多个软件,发现有的只能更改文件名,不能更改文件扩展名,如文件批量更名大师,而拖把更名器,可以更改扩展名,确不能设置更改某一文件夹下所有文件,这我就不明白了,既然是专业的文件更名工具,为什么我这么基本的需求都不能满足呢,据说Acdsee可以简单的实现这样的操作,可自从它的身躯日渐肥胖,把越来越多的不需要的功能塞给用户的时候,我就以及放弃了它,懒得安装,就这样我粗略的查看了这些文件的说明,基本都说自己能如何的更改MP3的名称,如何使用特定的更改公式实现不同的更改需求,可看了半天也没明白他们的公式是如何定义的,或许是我太笨了,也或者我们软件作者的胃口太大了,象我这样的本身自己就是搞软件开发的,在这些所谓软件功能使用上应该比普通人更加有优势吧,前后我花了大半小时查看各个更名软件,查看他们的文档,可是最后还是没搞定,郁闷死了。

软件的灵活性和易用性是有冲突的,某些时候为了灵活性的考虑是需要易用性,但是如果一个小小的“文件批量更名”的软件,需要用户学习你的文档半小时来进行一个及其简单的操作,这就有点过了,而且,软件贵好用,而不在大小通吃,就算要提高灵活性,拓宽适用范围,可那也要在基本核心功能相对保持易用性的基础上添加吧?!毕竟很多时候,我们要的就是更改以下“扩展名”而已,如果违反这样的原则,那么你得到的回报就只有:“被用户无情的抛弃!”。

所以在项目时间如此紧张的情况下,我竟然花费了大半小时倒没做到一个如此简单的操作,折腾到最后,火来了,我就自己用Java写了个,从编码到实现,前后没花到10分钟(最近痴迷FLEX,JAVA也有生疏了),又花了不到一分钟用exe4j将其封装成exe。这么个“批量更改特定目录下文件的扩展名”的超简单任务就完成了,讽刺…

下载:

我做的这个所谓的“文件批量更名器:RenameExts”,这里是:源代码

用法:

RenameExts <需要更改扩展名的文件目录> <原始扩展名> <新的扩展名> [是否调试:1/0]

如:

  • 将d:\test以及其子目录下所有*.wri文件改为.java文件:RenameExts d:\test wri java
  • 查看调试信息,显示详细的文件修改清单:RenameExts d:\test wri java 1

注意:

  1. 需要JRE(1.2以上版本)支持。
  2. 有需要的朋友,可以随意更改源代码,添加您的其他需求实现。