一尘不染

如何将文件a移动到Node.js中的其他分区或设备?

node.js

我试图在Node.js脚本中将文件从一个分区移动到另一个分区。当我使用时,fs.renameSync我收到了Error: EXDEV, Cross- device link。我将其复制并删除原始文件,但也没有看到复制文件的命令。如何才能做到这一点?


阅读 396

收藏
2020-07-07

共1个答案

一尘不染

跨不同分区移动文件时,需要复制和取消链接。试试这个,

var fs = require('fs');
//var util = require('util');

var is = fs.createReadStream('source_file');
var os = fs.createWriteStream('destination_file');

is.pipe(os);
is.on('end',function() {
    fs.unlinkSync('source_file');
});

/* node.js 0.6 and earlier you can use util.pump:
util.pump(is, os, function() {
    fs.unlinkSync('source_file');
});
*/
2020-07-07