[英]Node.js copy files from several directories to one directory
如何使用Node.js将文件从多个目录复制到一个目录。 假设一个目录中有多个目录。
我有一个解决方案
var fs = require('fs');
var ncp = require('ncp').ncp;
ncp.limit = 16;
fs.readdir(__dirname, function(err, files) {
for (var i = 0; i < files.length; i++) {
ncp(files[i], 'C:/Users/User/Desktop/output', function(err) {
if (err) {
return console.error(err);
}
console.log('done!');
});
}
});
但是有可能使它变得更好吗?
如果要复制大量文件和文件夹,则很可能会收到以下错误消息
Error: EMFILE, too many open files
为了解决此问题,我建议使用模块graceful-fs
和graceful-ncp
代替fs
和ncp
安装此模块
npm install graceful-fs graceful-ncp
并在代码中使用
var fs = require('graceful-fs');
var ncp = require('graceful-ncp').ncp;
ncp.limit = 16;
fs.readdir(__dirname, function(err, files) {
for (var i = 0; i < files.length; i++) {
ncp(files[i], 'C:/path/to/output/folder', function(err) {
if (err) {
return console.error(err);
}
console.log('done!');
});
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.