4 个版本 (2 个破坏性更改)

0.3.1 2024年5月19日
0.3.0 2024年5月16日
0.2.0 2024年5月14日
0.1.0 2024年5月13日

#593 in 文件系统

自定义许可证

24KB
353

概述

[ Detecteff ] (DetectF 或 Detective) 是一个命令行工具,用于在目录中查找重复文件。

徽章

Crates.io Total Downloads GitHub License Libraries.io SourceRank Crates.io Version

目录

功能

  • 可选递归扫描
  • 默认输出格式或更好的可读性输出格式
  • 彻底
  • 自 v0.3.0 版本后超级快
  • 能够忽略目录或子目录。
  • 自动忽略名称以点(.)开头的目录,因为它们不应该被修改。

注意: 如果正在扫描操作系统中的 HOME 目录,请小心,因为一些目录(例如 macOS 中的 LibraryApplications 文件夹)不应该被修改。请尝试扫描主目录中的单个目录。

例如

假设这是您的 HOME 目录的目录结构。

~/--- |
     abc.txt
     dir1/--- |
             xyz.txt
     123.txt
     dir2/--- |
             456.txt
     hehe.txt
     hello.txt
     ...

不要直接扫描 HOME 目录。尝试扫描单个目录。

或者,如果您确实需要这样做,请尝试使用 --ignore 标志来指定要忽略的目录(不区分大小写)。

附加说明

  • 避免扫描操作系统目录或任何应用程序安装目录,否则可能会修改重要文件。
  • 在使用 --delete-d 标志删除临时文件之前,请检查扫描后打印的将删除的文件列表(白色背景,红色前景)。

安装

在终端运行

$ cargo install detecteff
  Installing detecteff v0.3.1
    Updating crates.io index
   Compiling libc v0.2.155
   Compiling option-ext v0.2.0
   Compiling colorized v1.0.0
   Compiling dirs-sys v0.4.1
   Compiling dirs v5.0.1
   Compiling rustypath v0.1.1
   Compiling argrust v0.1.0
   Compiling detecteff v0.3.1 (/Users/XXXXXX/detecteff)
    Finished `release` profile [optimized] target(s) in 2.02s

帮助

要获取帮助,请在终端运行

$ detectf --help
detecteff help
   -
   [INFO]
   | -h, --help : show help text and exit.
   | -v, --version : show version and exit.
   -
   [FLAG]
   | -r, --recursive : recursive mode. Default -> OFF
   | -f, --format : show formatted output. Default -> OFF
   -
   [INPUT]
   | -s, --scan <directory> : scan the directory for duplicate files. (Mandatory)
   | -i, --ignore <directory1>, <directory2>, ... : ignore these directories. (Optional)
   -
   [IRREVERSIBLE FLAG]
   | -d, --delete : delete any found duplicates. Default -> OFF

修复 Windows 终端以支持 ANSI 颜色

默认情况下,Windows 终端不支持 ANSI 颜色代码,这些代码在 v0.3.1 中实现。您可以通过以下方式修复此问题:

运行以下命令从 detecteff 仓库下载 fix-terminal.bat 文件。

使用 curl

curl -o fix-terminal.bat https://raw.githubusercontent.com/d33pster/detecteff/main/fix-terminal.bat

使用 wget

wget -O fix-terminal.bat https://raw.githubusercontent.com/d33pster/detecteff/main/fix-terminal.bat

手动

转到 https://github.com/d33pster/detecteff 并单击 fix-terminal.bat 文件,然后单击下载按钮。


双击 fix-terminal.bat 以检查和修复 CMD 中的 ANSI 颜色支持。

用法

Deteceff 可以用来扫描由用户、程序留下的重复文件,或者因为你找不到文件的第一份副本而再次下载了一些文件。无论是什么原因,Detecteff 都是解决方案。

注意: 这里使用了较长的参数,但你可以自由地使用简短版本或长、短参数的组合。要在自己的项目中实现此参数解析,请查阅 argrust

在目录中搜索重复文件

detectf --scan <directory>

在目录树中搜索重复文件(递归)

detectf --scan <directory> --recursive

以格式化的方式显示输出

detectf --scan <directory> --recursive --format

删除找到的重复文件。(自 v0.3.1 起需要再次扫描。将在 v0.3.2 中修复。)

detectf --scan <directory> --delete

获取帮助

detectf --help

获取版本

detectf --version

依赖项

~0.1–10MB
~48K SLoC