一款批量重命名软件的设计思路和源代码
探索者软件的工程师开发(Copy)了一款批量重命名的软件,用了一些有意思的语言技能和设计思路。在使用过程中越来越发现这个软件的妙处和对工作效率的提升,因此决定开源这个小工具。
软件界面
明眼的小伙伴可能立刻就能发现小软件跟某商业软件里面的重命名功能非常像。是的,的确非常像。但是产品经理实在拦不住程序员造轮子的热情。
设计思路
-
解决的问题
软件要能同时处理大量文件,要能批量添加序号、添加时间戳、截短文件名或删除某些字符 -
如何解决
软件定义了占位符,通过占位符的组合实现批量改名的目的。比如表示原始文件名, 表示截取文件名的1到5位, 表示序号。那么 - 表示的含义是所有文件的文件名后面添加序号, - 如图显示,含义也很明确。同时序号的起始值、步长和长度也是需要考虑的,往往为了视觉上一致,序号的长度要保持一致,比如都是两位,那么不足两位的就需要在数字前面补零了。
技术要点
- 拖拽打开文件
- 获取文件信息,包括文件大小、修改时间
- 文件列表可排序,文件文件名排序、文件大小排序、修改时间排序。尤其是文件名排序不能用简单的字典排序。
- 批量操作文件名
- 文件名查找替换以及基于正则表达式的高级查找替换
- 文件名切换大小写,Windows系统对文件名是不区分大小写的,程序在切换文件名大小写的时候要做适当的处理
源代码
源代码放在Github上了,喜欢的同学直接下载源代码编译即可。由于程序用到了正则表达式,所以需要用支持C++11的编译器,也就是Visual Studio 2010以上的版本即可编译。
已编译版本:v0.0.2 build 2019/12/15
同时欢迎大家对软件提出宝贵的意见和建议。
许可证
MIT © tszdev