用于批量文件重命名的命令行工具 Nomenus-rex 的新版本现已发布。该程序使用 C++ 编写,并以 GPLv3 许可证发布。重命名规则通过配置文件进行配置。例如:source_dir = "/home/user/work/source"; destination_dir = "/home/user/work/destination"; keep_dir_structure = false; copy_or_rename = "copy"; rules = ( { type = "date"; date_format = "%Y-%m-%d"; }, { type = "text"; text = "_"; }, { type = "dir"; // mode = "whole path"|"parent dir only" mode = "whole path"; separator = "-"; }, { type = "text"; text = "_"; }, { type = "integer"; // mode = "global"|"local at every dir" mode = "local at every dir"; step = 1; padding = "extension"; // 将 "ext" 变量留空以使用原始扩展名 ext = "";
使用这些设置,该实用程序会将文件“/home/user/work/source/TestDir2/file2.txt”重命名为“/home/user/work/destination/2022-03-16_TestDir2_0.txt”。该实用程序还理解 HOME 和 XDG_CONFIG_HOME 目录(如果未指定配置文件的完整路径,则会在这些目录中查找配置文件),并且理解用于访问主目录的缩写“~”。
新版本的变化:
- 新增了一种“规则”类型,它接受当前未完成的名称作为参数。这样就可以添加替换规则,将所有出现的子字符串替换为新字符串。
- 文件名称现在会按字母顺序排序后再进行处理。此前,文件是按照文件系统返回的顺序进行处理的。在下一个版本中,此排序将由用户控制。
- 文档已稍作修改,使其更便于用户使用。
- 对代码进行了内部更改(开始创建测试和从配置文件中读取枚举变量的新模板函数),旨在简化添加新规则和减少新错误的数量。
来源: opennet.ru
