2 releases
| 0.1.1 | Dec 16, 2025 |
|---|---|
| 0.1.0 | Dec 16, 2025 |
#437 in Filesystem
11KB
179 lines
FHRN - File Hash Renamer
一个高性能的 Rust 命令行工具,用于重命名文件以避免重复。它通过计算文件的 XXH64 哈希值,将文件重命名为其哈希值,并可选地删除重复文件。
功能特性
- 🚀 高性能:使用多线程并行处理文件
- 🔍 快速哈希:使用 XXH64 算法进行快速文件哈希计算
- 📁 递归扫描:自动递归扫描目录中的所有文件
- 🔧 灵活选项:支持多种运行模式和选项
- 📊 进度显示:实时显示处理进度
- 🧪 安全模式:支持干运行(dry run)预览
安装
从源码构建
确保已安装 Rust (1.70+) 和 Cargo:
# 克隆仓库
git clone https://github.com/moyanj/fhrn.git
cd fhrn
# 发布模式构建
cargo build --release
# 可执行文件位于 target/release/fhrn
从 crates.io 安装
cargo install fhrn
使用方法
基本用法
# 处理指定目录中的文件
fhrn /path/to/directory
# 启用详细输出
fhrn /path/to/directory -v
# 使用指定线程数
fhrn /path/to/directory -t 8
高级选项
# 干运行模式(只显示将要执行的操作,不实际执行)
fhrn /path/to/directory --dry-run
# 不删除重复文件
fhrn /path/to/directory --no-delete
# 不重命名文件(仅检测重复)
fhrn /path/to/directory --no-rename
# 组合选项
fhrn /path/to/directory -v --dry-run --threads 4
命令行选项
USAGE:
fhrn [OPTIONS] <DIRECTORY>
ARGS:
<DIRECTORY> 要处理的目录
OPTIONS:
-v, --verbose 详细输出模式
-t, --threads <NUM> 使用的线程数 [默认值: 系统逻辑核心数]
--dry-run 干运行模式(不实际执行操作)
--no-delete 不删除重复文件
--no-rename 不重命名文件
-h, --help 显示帮助信息
-V, --version 显示版本信息
许可证
本项目基于 MIT 许可证开源 - 详见 LICENSE 文件。
作者
MoYan [email protected]
贡献
欢迎提交 Issue 和 Pull Request!
项目结构
FHRN/
├── Cargo.toml # 项目配置和依赖
├── LICENSE # MIT 许可证
└── src/
└── main.rs # 主程序代码
依赖项
clap- 命令行参数解析indicatif- 进度条显示rayon- 数据并行处理walkdir- 目录递归遍历xxhash-rust- XXH64 哈希算法
注意事项
- 使用前建议先用
--dry-run模式预览将要执行的操作 - 重命名操作不可逆,请确保有文件备份
- 处理大量文件时可能需要较长时间和足够的内存
Dependencies
~5–17MB
~159K SLoC