使用 NodeJS 在 fs-extra 中同步复制
同步复制简介
此方法在同步过程中将文件或目录从一个位置复制到另一个位置。目录可以有子目录和文件。
语法
copySync(src, dest[, options])
参数
src-这是一个字符串参数,它将保存需要复制的文件或目录的源位置。如果位置是一个目录,它将复制目录中的所有内容而不是整个目录。
dest–这将保存文件/目录将被复制的目标位置。如果src是文件,则dest不能是目录。
选项
overwrite–如果设置为true,现有文件或目录将被覆盖。默认值设置为true。
errorOnExist–如果目标文件/文件夹存在,仅当overwrite设置为false时才会抛出错误。
preserveTimestamps–如果为真,最新的修改和访问时间将设置为原始文件的时间,否则将取决于操作系统。
filter–此选项将过滤复制的文件。如果设置为true,将包括过滤的文件。
由于它是同步副本,因此不会有回调。
示例1
在继续之前检查fs-extra是否已安装;如果没有,请安装fs-exra。
您可以使用以下命令来检查是否安装了fs-extra。
npm ls fs-extra
创建一个syncCopyExample.js并将以下代码片段复制粘贴到该文件中。
现在,运行以下命令来运行以下代码片段。
node syncCopyExample.js
代码片段-
const fs = require('fs-extra') //在同步过程中复制文件 fs.copySync('/tmp/myfile', '/tmp/mynewfile') console.log("File copied in Sync") //将目录从src复制到dest fs.copySync('/tmp/mydir', '/tmp/mynewdir') console.log("Directory copied in Sync")输出结果
C:\Users\nhooo\> node syncCopyExample.js File copied in Sync Directory copied in Sync
示例2(使用过滤器功能)
const fs = require('fs-extra') //复制扩展名为.txt或.avi的文件 fs.copySync( '/tmp/newFile.txt', '/tmp/myfile2.txt', /.*(.txt|.avi)$/, (err) => {console.log('An error occured while copying')}) console.log("复制成功!") C:\Users\nhooo\> node syncCopyExample.js Successfully copied!