Move files and folders to the trash
Works on macOS, Linux, and Windows.
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 --save trash
Usage
const trash = require('trash');
trash(['*.png', '!rainbow.png']).then(() => {
console.log('done');
});
API
trash(input)
Returns a Promise
.
input
Type: Iterable<string>
Accepts paths and glob patterns.
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.
Related
License
MIT © Sindre Sorhus