【发布时间】:2021-11-05 08:45:31
【问题描述】:
我使用recursive-readdir 读取目录及其子目录,如下所示:
const fse = require('fs-extra')
const recursive = require('recursive-readdir');
const inputFolder = './input';
const files = await recursive(inputFolder)
然后我像这样过滤获取的文件:
const fileteredFiles = files.filter((f) => f.includes('.gif'));
i console.log(filteredFiles) 这是输出:
[ 'input/background/black.gif',
'input/background/grey.gif',]
现在我想将 black.gif 和 gray.gif 复制到另一个目录,我试过这个:
fse.copyFileSync(fileteredFiles, 'outputDir')
我得到这个错误:
TypeError [ERR_INVALID_ARG_TYPE]: The "src" argument must be one of type string, Buffer, or URL. Received type object
at Object.copyFileSync (fs.js:1719:3)
所以请指点我获取filteredFiles然后复制到另一个目录的正确方法。
任何帮助将不胜感激。
【问题讨论】:
-
在 nodejs v16 中,您可以使用
fsPromises.cp()将文件层次结构复制到不同的目录。
标签: javascript node.js fs