4个版本
0.2.1 | 2023年7月28日 |
---|---|
0.2.0 | 2023年7月16日 |
0.1.1 | 2023年4月28日 |
0.1.0 | 2023年4月28日 |
#359 in 文件系统
27 每月下载量
39KB
791 行
bumv,批量文件重命名实用程序
bumv
(批量移动) 允许您使用您喜欢的编辑器来重命名文件。它被创建是因为作者发现与在现代编辑器中编辑字符串相比,批量文件重命名非常繁琐。编辑器提供了强大的搜索和替换功能以及多光标编辑,所有这些都对批量文件重命名很有帮助。
用法
默认情况下,bumv
将允许您非递归地重命名当前目录中的文件,同时尊重git忽略定义和 .ignore
文件。在项目目录上调用时,它将在 EDITOR
(默认为VS Code) 中打开以下文件列表
./Cargo.lock
./Cargo.toml
./LICENSE.txt
./README.md
假设您按如下方式编辑文件,保存并关闭您的编辑器
./Cargo.lock
./Cargo.toml
./LICENSE.txt
./README_CAREFULLY.md
bumv
将提示您确认,然后将 README.md
重命名为 README_CAREFULLY.md
。
警告
竞争条件或未预见的边缘情况可能导致不希望的行为。自行承担风险,并且仅在已备份的文件上使用。
安全检查
以下安全检查已实施并测试
- 只有当输入具有相同数量的行时才接受输入。
- 显然会导致文件覆盖的输入将立即被拒绝。
- 为了避免由于竞争条件或重命名顺序而导致覆盖现有文件,
bumv
在每次重命名操作之前都会验证目标文件名是否存在。 - 在执行重命名之前,
bumv
将验证用户提供的文件列表是否与文件系统上存在的完全匹配。
注释
- 如果在编辑映射时更改了文件的父目录层次结构的一部分,文件将被移动到指定位置,但不会删除空目录。
- 如果直接重命名会导致冲突,例如
file1 <-> file2
,将使用临时文件来启用重命名。
选项
-n, --no-ignore Do not observe ignore files
--no-log Do not write a log file
-r, --recursive Recursively rename files in subdirectories
-c, --use-vscode Use VS Code as editor
安装
cargo安装 bumv
关于本项目
本项目作为一个AI辅助编程的游乐场而完成。原始代码由ChatGPT 4根据松散的规格编写,令人惊讶的是,代码一经编译即可正常运行。
生成的单元测试不足。因此,代码必须重构以提高可测试性,并且手工编写了大量的测试。
必须手动添加一些安全措施和改进,这些是根据本地测试的结果和仔细考虑程序行为得出的。
在扩展代码和添加注释时,GitHub Copilot非常有帮助。
依赖项
~11–21MB
~297K SLoC