trash

Move files and directories to the trash

Github stars Tracking Chart

trash

Move files and folders to the trash

Build Status

Works on macOS (10.12+), Linux, and Windows (8+).

In contrast to fs.unlink, del, and rimraf which permanently delete files, this only moves them to the trash, which is much safer and reversible.

Install

$ npm install trash

Usage

const trash = require('trash');

(async () => {
	await trash(['*.png', '!rainbow.png']);
})();

API

trash(input, [options])

Returns a Promise.

input

Type: string string[]

Accepts paths and glob patterns.

options

Type: Object

glob

Type: boolean
Default: true

Enable globbing when matching file paths.

CLI

To install the trash command, run:

$ npm install --global trash-cli

Info

On macOS, macos-trash is used.
On Linux, the XDG spec is followed.
On Windows, recycle-bin is used.

FAQ

But I can do the same thing with mv

Not really. The mv command isn't cross-platform and moving to trash is not just about moving the file to a "trash" directory. On all OSes you'll run into file conflicts. The user won't easily be able to restore the file. It won't work on an external drive. The trash directory location varies between Windows versions. For Linux, there's a whole spec you need to follow. On macOS, you'll lose the Put back feature.

License

MIT © Sindre Sorhus

Main metrics

Overview
Name With Ownersindresorhus/trash
Primary LanguageJavaScript
Program languageJavaScript (Language Count: 2)
Platform
License:MIT License
所有者活动
Created At2014-05-14 17:25:32
Pushed At2024-07-26 12:21:13
Last Commit At
Release Count43
Last Release Namev9.0.0 (Posted on 2024-07-26 14:20:31)
First Release Namev0.1.0 (Posted on 2014-05-14 19:34:23)
用户参与
Stargazers Count2.6k
Watchers Count25
Fork Count80
Commits Count156
Has Issues Enabled
Issues Count91
Issue Open Count13
Pull Requests Count26
Pull Requests Open Count0
Pull Requests Close Count10
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private