#file #organization #file-metadata

bin+lib card_catalog

帮助收集文件元数据以供后续组织

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

MIT许可证

33KB
709

卡目录

Build Status

用Rust编写,此程序收集文件元数据并将其存储在SQLite数据库中。它收集的一些内容包括

  1. 文件名
  2. 路径
  3. 大小
  4. 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文件中处理,请参阅配置部分。有效的操作包括

  1. duplicates - 通过匹配哈希值在数据库中查找重复文件。
  2. hash - 计算哈希值、文件大小等,并将结果存储在数据库中。
  3. orphans - 遍历由哈希操作计算的所有数据库条目,并对文件是否仍然存在进行简单检查。如果文件不存在,则将其在数据库中的条目删除。

示例

# Start hashing files:
cargo run -- --action hash

子命令

创建标签

要创建不应用于列表的标签,例如“puppy”,请使用

cargo run -- new-tag puppy

标签列表

为了帮助搜索任何给定的文件,您可以将标签应用于列表ID,这在未来将被用作搜索机制。例如,您可以选择包含标签vacation的所有文件, voilà 🎻,所有已应用标签的文件都将返回!

为ID为56982fc3-091a-489c-bd6c-c7f916965d4b的条目添加标签summerbeachvacation

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配置设置包括

  1. DIRECTORY_TO_SCAN - 从中开始扫描文件的根目录位置。
  2. SQLITE_CONNECTION - SQLite数据库文件的读取/写入路径。

更多

有关更多信息,请参阅documentation文件夹。

许可证

许可证是MIT。请参阅LICENSE文件。

依赖项

~27–37MB
~602K SLoC