【发布时间】:2015-09-03 23:37:55
【问题描述】:
我正在尝试使用 node.js 将一个文件夹复制到另一个文件夹路径:-
D:\node\files\11\j1_1\j1_2\j1_3
我想将文件夹 j1_3 复制到路径
D:\node\files\11\j1_1\
这是我的代码:-
var source = fs.createReadStream(old);
var dest = fs.createWriteStream(newp);
source.pipe(dest);
source.on('end', function () { /* copied */ });
source.on('error', function (err) {
console.log("hi");
/* error */
});
但我收到此错误:-
events.js:72
throw er; // Unhandled 'error' event
^
Error: EISDIR, open 'D:\node\files\11\j1_1'
我也尝试了 fs.rename 函数,但得到了同样的错误。
【问题讨论】:
-
一个额外的说明。您在写入流中遇到的错误是因为 fs 不会自动将新文件名附加到 dest。哪个 cp 和 ncp 可以,所以要解决这个问题,您还可以将新文件名添加到 dest 而不是使用 ncp / cp。导致:newp + path.basename(old);
-
@Bram 感谢您提供信息 :)
标签: javascript node.js