Sha256: 9d284da87739706d7e20543a16a24147614ccbec73a6fe2d421790a13dcb60f4

Contents?: true

Size: 1.81 KB

Versions: 46

Compression:

Stored size: 1.81 KB

Contents

# copy(src, dest, [options, callback])

Copy a file or directory. The directory can have contents. Like `cp -r`.

- `src` `<String>`
- `dest` `<String>`
- `options` `<Object>`
  - `overwrite` `<boolean>`: overwrite existing file or directory, default is `true`. _Note that the copy operation will silently fail if you set this to `false` and the destination exists._ Use the `errorOnExist` option to change this behavior.
  - `errorOnExist` `<boolean>`: when `overwrite` is `false` and the destination exists, throw an error. Default is `false`.
  - `dereference` `<boolean>`: dereference symlinks, default is `false`.
  - `preserveTimestamps` `<boolean>`: will set last modification and access times to the ones of the original source files, default is `false`.
  - `filter` `<Function>`: Function to filter copied files. Return `true` to include, `false` to exclude. This can also be a RegExp, however this is deprecated (See [issue #239](https://github.com/jprichardson/node-fs-extra/issues/239) for background).
- `callback` `<Function>`

## Example:

```js
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**

```js
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!')
})
```

Version data entries

46 entries across 46 versions & 2 rubygems

Version Path
ilog-0.4.1 node_modules/fs-extra/docs/copy.md
ilog-0.4.0 node_modules/fs-extra/docs/copy.md
ilog-0.3.3 node_modules/fs-extra/docs/copy.md
govuk_publishing_components-18.0.0 node_modules/fs-extra/docs/copy.md
govuk_publishing_components-17.21.0 node_modules/fs-extra/docs/copy.md
govuk_publishing_components-17.20.0 node_modules/fs-extra/docs/copy.md
govuk_publishing_components-17.19.1 node_modules/fs-extra/docs/copy.md
govuk_publishing_components-17.19.0 node_modules/fs-extra/docs/copy.md
govuk_publishing_components-17.18.0 node_modules/fs-extra/docs/copy.md
govuk_publishing_components-17.17.0 node_modules/fs-extra/docs/copy.md
govuk_publishing_components-17.16.0 node_modules/fs-extra/docs/copy.md
govuk_publishing_components-17.15.0 node_modules/fs-extra/docs/copy.md
govuk_publishing_components-17.14.0 node_modules/fs-extra/docs/copy.md
govuk_publishing_components-17.13.0 node_modules/fs-extra/docs/copy.md
govuk_publishing_components-17.12.2 node_modules/fs-extra/docs/copy.md
govuk_publishing_components-17.12.1 node_modules/fs-extra/docs/copy.md
govuk_publishing_components-17.12.0 node_modules/fs-extra/docs/copy.md
govuk_publishing_components-17.11.0 node_modules/fs-extra/docs/copy.md
govuk_publishing_components-17.10.0 node_modules/fs-extra/docs/copy.md
govuk_publishing_components-17.9.0 node_modules/fs-extra/docs/copy.md