“EPERM操作不允许”在我的Windows服务器,我发现fs.rename函数总是返回下面的错误:重命名回报:在JavaScript
error code is Error: EPERM: operation not permitted, rename 'C:\javascript\nodejs\a.txt' -> 'C:\javascript\nodejs\b.txt'
以下是测试代码:
var fs = require('fs');
fs.writeFileSync('a.txt',"This is a file")
fs.writeFileSync('b.txt',"This is another file")
fs.rename('a.txt','b.txt',function (err) {
console.log("error code is " + err);
});
var text = fs.readFileSync('b.txt', "utf-8");
console.log(text)
但是,在当前文件夹中,我确实看到原始文件“a.txt”以及新重命名文件“b.txt”。
做一个异步重命名,而在同一时间同步从目标位置读取可能是不一个好主意。 – Bergi
谢谢Bergi,你是对的。我没有注意到这一点。其实我正在使用上面的代码来测试服务器的权限。顺便说一句,我可以在Stackoverflow中投票您的意见吗? – Liang