12个稳定版本
使用旧的Rust 2015
1.1.1 | 2019年8月14日 |
---|---|
1.1.0 | 2019年8月11日 |
1.0.10 | 2019年4月27日 |
1.0.8 | 2019年1月6日 |
1.0.4 | 2018年11月25日 |
在#file-metadata中排名37
每月下载量34次
33KB
709 行
卡目录
用Rust编写,此程序收集文件元数据并将其存储在SQLite数据库中。它收集的一些内容包括
- 文件名
- 路径
- 大小
- XxHash校验和
除了收集文件数据外,该程序还通过文件标签、搜索等工具帮助索引文件。这些功能的发展正在进行中...请保持关注!
入门指南
要运行此项目,您需要一个SQLite数据库设置并配置此项目中的.env
文件以指向您的数据库文件。请参阅下面的配置部分。
接下来,您需要运行数据库设置过程以创建所需的表
cargo run -- --action setup
接下来,根据配置部分中的详细说明设置任何剩余的配置值。
一旦满足先决条件,您可以使用以下命令运行或构建项目
# To see help
cargo run -- --help
# To run
cargo run
# To build for release
cargo build --release
有关此程序接受的参数的详细信息,请参阅参数部分。
参数
在执行任何操作(除简单地终止外)之前,此应用程序至少需要一个命令行参数。本节分为命令和子命令。
命令
操作
您可以通过-a
或--action
命令标志后跟一个操作名称来指定要使用的一个操作。目前,除选择要执行的操作之外的所有配置都在.env
文件中处理,请参阅配置部分。有效的操作包括
- duplicates - 通过匹配哈希值在数据库中查找重复文件。
- hash - 计算哈希值、文件大小等,并将结果存储在数据库中。
- orphans - 遍历由哈希操作计算的所有数据库条目,并对文件是否仍然存在进行简单检查。如果文件不存在,则将其在数据库中的条目删除。
示例
# Start hashing files:
cargo run -- --action hash
子命令
创建标签
要创建不应用于列表的标签,例如“puppy”,请使用
cargo run -- new-tag puppy
标签列表
为了帮助搜索任何给定的文件,您可以将标签应用于列表ID,这在未来将被用作搜索机制。例如,您可以选择包含标签vacation
的所有文件, voilà 🎻,所有已应用标签的文件都将返回!
为ID为56982fc3-091a-489c-bd6c-c7f916965d4b的条目添加标签summer
、beach
和vacation
cargo run -- tag 56982fc3-091a-489c-bd6c-c7f916965d4b -- summer beach vacation
从条目中删除标签
要从条目中删除单个标签,请使用listing_tags
表中id列的UUID来删除应用标签关联。
cargo run -- delete-tag-listing 56982fc3-091a-489c-bd6c-c7f916965d4b
删除标签
删除标签将从tags
表中删除它,并删除listing_tags
表中所有使用该标签的条目。请谨慎操作!为了使操作更难意外执行,目前必须使用tags
表中的id列的UUID来删除标签。
cargo run -- delete-tag 56982fc3-091a-489c-bd6c-c7f916965d4b
配置
.env
配置设置包括
- DIRECTORY_TO_SCAN - 从中开始扫描文件的根目录位置。
- SQLITE_CONNECTION - SQLite数据库文件的读取/写入路径。
更多
有关更多信息,请参阅documentation
文件夹。
许可证
许可证是MIT。请参阅LICENSE文件。
依赖项
~27–37MB
~602K SLoC