Copy a file or directory. The directory can have contents.
src
<String>
Note that ifsrc
is a directory it will copy everything inside of this directory, not the entire directory itself (see issue #537).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>
: When true, will set last modification and access times to the ones of the original source files. When false, timestamp behavior is OS-dependent. Default isfalse
.filter
<Function>
: Function to filter copied files/directories. Returntrue
to copy the item,false
to ignore it.
const fs = require('fs-extra')
// copy file
fs.copySync('/tmp/myfile', '/tmp/mynewfile')
// copy directory, even if it has subdirectories or files
fs.copySync('/tmp/mydir', '/tmp/mynewdir')
Using filter function
const fs = require('fs-extra')
const filterFunc = (src, dest) => {
// your logic here
// it will be copied if return true
}
fs.copySync('/tmp/mydir', '/tmp/mynewdir', { filter: filterFunc })