copy.md
1.95 KB
copy(src, dest, [options, callback])
Copy a file or directory. The directory can have contents. Like cp -r
.
-
src
<String>
-
dest
<String>
Note that ifsrc
is a file,dest
cannot be a directory (see issue #323). -
options
<Object>
-
overwrite
<boolean>
: overwrite existing file or directory, default istrue
. Note that the copy operation will silently fail if you set this tofalse
and the destination exists. Use theerrorOnExist
option to change this behavior. -
errorOnExist
<boolean>
: whenoverwrite
isfalse
and the destination exists, throw an error. Default isfalse
. -
dereference
<boolean>
: dereference symlinks, default isfalse
. -
preserveTimestamps
<boolean>
: will set last modification and access times to the ones of the original source files, default isfalse
. -
filter
<Function>
: Function to filter copied files. Returntrue
to include,false
to exclude. This can also be a RegExp, however this is deprecated (See issue #239 for background).
-
-
callback
<Function>
Example:
const fs = require('fs-extra')
fs.copy('/tmp/myfile', '/tmp/mynewfile', err => {
if (err) return console.error(err)
console.log('success!')
}) // copies file
fs.copy('/tmp/mydir', '/tmp/mynewdir', err => {
if (err) return console.error(err)
console.log('success!')
}) // copies directory, even if it has subdirectories or files
// Promise usage:
fs.copy('/tmp/myfile', '/tmp/mynewfile')
.then(() => {
console.log('success!')
})
.catch(err => {
console.error(err)
})
Using filter function
const fs = require('fs-extra')
const filterFunc = (src, dest) => {
// your logic here
// it will be copied if return true
}
fs.copy('/tmp/mydir', '/tmp/mynewdir', { filter: filterFunc }, err => {
if (err) return console.error(err)
console.log('success!')
})