【发布时间】:2016-08-25 03:55:08
【问题描述】:
在我的 windows 服务器中,我发现 fs.rename 函数总是返回以下错误:
错误代码是 Error: EPERM: operation not allowed, 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,你是对的。我没有注意到这一点。实际上我正在使用上面的代码来测试服务器的权限。顺便说一句,我可以在 Stackoverflow 中为您的 cmets 投票吗?
标签: javascript node.js