fs.rename but works across devices. same as the unix utility 'mv'

npm install mv
3 962 downloads in the last day
16 764 downloads in the last week
77 692 downloads in the last month

Build Status


var mv = require('mv');

mv('source/file', 'dest/file', function(err) {
  // done. it tried fs.rename first, and then falls back to
  // piping the source file to the dest file and then unlinking
  // the source file.

Another example:

mv('source/dir', 'dest/a/b/c/dir', {mkdirp: true}, function(err) {
  // done. it first created all the necessary directories, and then
  // tried fs.rename, then falls back to using ncp to copy the dir
  // to dest and then rimraf to remove the source dir

Another example:

mv('source/file', 'dest/file', {clobber: false}, function(err) { // done. If 'dest/file' exists, an error is returned // with err.code === 'EEXIST'. });

npm loves you