#bin #recycle #remove #operating-system #fs-file #rubbish

trash

将文件和文件夹移动到回收站(垃圾箱)的库

31 个稳定版本 (5 个主要版本)

5.1.0 2024年8月9日
5.0.0 2024年6月18日
4.1.1 2024年5月1日
4.1.0 2024年3月19日
0.1.1 2019年7月13日

#26文件系统 中排名

Download history 6415/week @ 2024-05-02 6046/week @ 2024-05-09 5557/week @ 2024-05-16 5091/week @ 2024-05-23 5858/week @ 2024-05-30 5161/week @ 2024-06-06 4921/week @ 2024-06-13 6108/week @ 2024-06-20 4682/week @ 2024-06-27 5101/week @ 2024-07-04 5652/week @ 2024-07-11 5603/week @ 2024-07-18 6025/week @ 2024-07-25 6146/week @ 2024-08-01 8370/week @ 2024-08-08 6825/week @ 2024-08-15

28,453 每月下载量
用于 45 个 Crates(直接使用38个)

MIT 许可证

105KB
2K SLoC

Crates.io Docs.rs CI

关于

trash 是一个 Rust 库,用于将文件和文件夹移动到操作系统的回收站或垃圾箱或废纸篓等 :D

该库支持 Windows、macOS 以及所有符合 FreeDesktop 垃圾箱规范的运行环境(包括 GNOME、KDE、XFCE 等)。有关 FreeDesktop 垃圾箱实现的更多信息,请参阅 freedesktop.rs 文件。

使用方法

# In Cargo.toml
[dependencies]
trash = "3"
// In main.rs
use std::fs::File;
use trash;

fn main() {
    // Let's create and remove a single file
    File::create("remove-me").unwrap();
    trash::delete("remove-me").unwrap();
    assert!(File::open("remove-me").is_err());

    // Now let's remove multiple files at once
    let the_others = ["remove-me-too", "dont-forget-about-me-either"];
    for name in the_others.iter() {
        File::create(name).unwrap();
    }
    trash::delete_all(&the_others).unwrap();
    for name in the_others.iter() {
        assert!(File::open(name).is_err());
    }
}

依赖关系

~0–37MB
~552K SLoC