Massren
Massren是一个命令行工具,可以使用您自己的文本编辑器重命名多个文件。从命令行使用多重重命名工具通常比较困难,因为任何正则表达式都需要转义,而且每个工具都使用自己的语法和正则表达式风格。Massren的优点是您可以使用您每天使用的文本编辑器,从而利用其所有功能。
该工具的工作原理是创建一个包含目标目录文件名的文件,并在文本编辑器中打开此文件。然后您可以直接在那里修改文件名。完成后,保存文本文件,文件就会被重命名。未更改的行将被简单忽略。
特性
-
使用您自己的文本编辑器重命名多个文件。它应该可以与任何文本编辑器一起使用,包括vim、emacs、Sublime Text或记事本。
-
撤销功能 - 任何重命名操作都可以撤销。
-
将文件移动到子目录。更多信息请参见这些说明。
-
演练模式 - 测试重命名操作的结果,而不实际重命名任何文件。
-
跨平台 - 支持Windows、OSX和Linux。
-
安全检查 - 由于这是一个多重重命名工具,它设置了各种检查以确保不会意外重命名任何内容。例如,程序会检查在编辑文件名列表时文件是否被其他程序更改。如果保存文件前后的文件数量不同,操作也会被取消。
安装
每个平台的最新可执行文件可从发布页面获取。
Mac OS
最简单的方法是使用Homebrew:
brew install massren
或者,下面描述的Linux方法也应该可行。
如果安装失败,请按照以下说明进行操作。
Linux
- 安装Go
- 运行
go install github.com/laurent22/massren@latest
默认情况下,该工具将安装在$GOPATH/bin/massren
。从那里,您可以将其符号链接到/bin
,或者通过export PATH=$PATH:$GOPATH/bin
将$GOPATH/bin
添加到您的PATH
变量中。
请注意,它与Linuxbrew兼容,因此Mac OS的相同命令也可以使用。
Windows
可执行文件可以从 https://github.com/laurent22/massren/releases 下载
注意:从1.3版本开始,Windows版本已停止发布,因为我不知道是否有人在使用它们。不过,该程序仍然可以在Windows上运行,并可以使用上述"Linux"方法构建和安装。如果您有兴趣维护Windows版本,请告诉我。
使用和示例
用法:
massren [选项]
应用程序选项: -n, --dry-run 不执行重命名操作,仅显示将要执行的操作。 -v, --verbose 启用详细输出。 -c, --config 设置或列出配置值。更多信息请输入: massren --config --help -u, --undo 撤消重命名操作。目前无法撤消删除操作(但在 OSX 和 Windows 中可以从回收站恢复文件)。例如:massren --undo [路径] -V, --version 显示版本信息。
帮助选项: -h, --help 显示此帮助信息
示例:
处理当前目录中的所有文件: % massren
处理指定目录中的所有 JPEG 文件: % massren /path/to/photos/*.jpg
撤消上一次操作所做的更改: % massren --undo /path/to/photos/*.jpg
将 VIM 设置为默认文本编辑器: % massren --config editor vim
列出配置值: % massren --config
配置
输入 massren --help --config
(或 massren -ch
)以查看可能的配置值和默认值:
配置命令:
设置一个值: % massren --config <名称> <值>
列出所有值: % massren --config
删除一个值: % massren --config <名称>
可能的键/值:
editor: 编辑文件列表时使用的编辑器。 默认:自动检测。
use_trash: 删除文件后是否将其移至回收站/垃圾箱。 可能的值:0 或 1。默认:1。
include_directories: 是否在文件缓冲区中包含目录。 可能的值:0 或 1。默认:1。
include_header: 是否在文件缓冲区中显示标头。 可能的值:0 或 1。默认:1。
示例:
将 Sublime 设置为默认文本编辑器: % massren --config editor "subl -n -w"
不将文件移至回收站: % massren --config use_trash 0
待办事项
- 批量将文件移至回收站,而不是逐个移动。
- 在 Windows 上检测默认文本编辑器。
- 处理两个或多个包含相同文件名的文件夹时,消除文件名歧义。
- 其他各种问题。
从源代码构建
-
需要 Go 1.17+
go mod tidy go build
测试单元
Massren 的功能由一套强大的测试套件支持,几乎覆盖了所有代码。要运行测试单元,请在源代码目录中输入 go test -v
。
许可证
MIT 许可证
版权所有 (c) 2013-2016 Laurent Cozic
特此免费授予任何获得本软件及相关文档文件("软件")副本的人不受限制地处理本软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,以及允许向其提供软件的人这样做,但须符合以下条件:
上述版权声明和本许可声明应包含在本软件的所有副本或重要部分中。 本软件按"原样"提供,不提供任何形式的明示或暗示担保,包括但不限于对适销性、特定用途适用性和非侵权性的担保。在任何情况下,无论是在合同诉讼、侵权诉讼或其他诉讼中,作者或版权持有人均不对任何索赔、损害或其他责任负责,不论这些追责来自、源于或有关于本软件以及本软件的使用或其他处置。