#md5 #unique #name #filename #file #timestamp #system

app uniqopy

创建具有唯一名称的文件副本(基于时间戳和 MD5 哈希)

2 个不稳定版本

0.3.0 2022年2月6日
0.2.0 2022年1月10日

#20#md5

自定义许可证

7KB
77 代码行

Uniqopy

CI

使用文件名、系统时间和 MD5 哈希 创建唯一的文件副本。

$ ls
fibblesnork.txt
$ uniqopy fibblesnork.txt 
Copying fibblesnork.txt to fibblesnork.2022-01-10-07:06:49.db194cb65e3d5200798471729c8f3e9a.txt
Copyied 16 bytes
$ ls
fibblesnork.2022-01-10-07:06:49.db194cb65e3d5200798471729c8f3e9a.txt
fibblesnork.txt

你可能需要一个唯一的文件名

  • 用于批量生成的文件
  • 用于(小型)备份
  • 用于日志轮转
  • 等等。

命名生成

要生成具有唯一名称的副本,uniqopy

  1. 读取并计算输入文件内容的 MD5 哈希(使用 std::fs::readmd5 包),
  2. 生成时间戳(使用 chrono::offset::Local::now),
  3. 将文件的原始名称、时间戳和 MD5 哈希连接起来,最后
  4. 如果原始文件名有扩展名(根据 std::path::Path::extension),则将其移动到新文件名的末尾。

例如

  • foo 变成 foo.2022-01-10-07:05:03.d3b07384d113edec49eaa6238ad5ff00
  • foo.txt 变成 foo.2022-01-10-07:05:01.0e771a9094f21f0bf74be99ebdbb568d.txt

许可证

本作品依据 Parity公共许可证7.0.0 提供,可在 LICENSE.mdhttps://paritylicense.com/versions/7.0.0 查找。

依赖项

~1MB
~18K SLoC