forked from LeenkxTeam/LNXSDK
		
	
		
			
				
	
	
	
		
			2.4 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	
			2.4 KiB
		
	
	
	
	
	
	
	
copy(src, dest, [options, callback])
Copy a file or directory. The directory can have contents. Like cp -r.
- src- <String>Note that if- srcis a directory it will copy everything inside of this directory, not the entire directory itself (see issue #537).
- dest- <String>Note that if- srcis a file,- destcannot be a directory (see issue #323).
- 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- falseand the destination exists. Use the- errorOnExistoption to change this behavior.
- errorOnExist- <boolean>: when- overwriteis- falseand the destination exists, throw an error. Default is- false.
- dereference- <boolean>: dereference symlinks, default is- false.
- 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 is- false.
- filter- <Function>: Function to filter copied files. Return- trueto include,- falseto exclude. Can also return a- Promisethat resolves to- trueor- false(or pass in an- asyncfunction).
 
- callback- <Function>
Example:
const fs = require('fs-extra')
// With a callback:
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
// With Promises:
fs.copy('/tmp/myfile', '/tmp/mynewfile')
.then(() => {
  console.log('success!')
})
.catch(err => {
  console.error(err)
})
// With async/await:
async function example () {
  try {
    await fs.copy('/tmp/myfile', '/tmp/mynewfile')
    console.log('success!')
  } catch (err) {
    console.error(err)
  }
}
example()
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!')
})