使用节点 fs 将文件移动到只读文件夹
Moving files to read-only folder with node fs
我在使用 node.js fs 工具将文件从一个目录移动到另一个目录时遇到问题。我可以阅读它们,但不会写。我怀疑问题出在只读 属性 中,这会导致
EPERM operation is not permitted 'C:\Andersen\Images\small'
错误提到目录,我试图在其中写入所有这些文件。
var filesystem = require("fs");
files.forEach(function (file) {
filesystem.renameSync(".\Test", ".\Images\small");
});
我尝试使用 Windows cmd
更改文件夹的只读 属性
attrib -r +s "C:\Andersen\Images"
但是没用。如果重要的话,我有 Windows 7 Pro。 Windows GNU 也不起作用。 "Attribute changer" 程序确实更改了 属性,但错误仍然出现。 Total Commander 更改无效。
我能用这个做什么?有没有办法用fs将文件写入只读文件夹或建议任何其他模式?
非常感谢您的回答!
最后发现是fs.renameSync()函数出了问题。这就是为什么我使用 fs-extra 和它的 copy() 函数。
var filesystem = require("fs-extra");
filesystem.copy(file,".\Images\big\" + stat.size + ".jpg", function (err, data) {
if (err) throw err;
});
我在使用 node.js fs 工具将文件从一个目录移动到另一个目录时遇到问题。我可以阅读它们,但不会写。我怀疑问题出在只读 属性 中,这会导致
EPERM operation is not permitted 'C:\Andersen\Images\small'
错误提到目录,我试图在其中写入所有这些文件。
var filesystem = require("fs");
files.forEach(function (file) {
filesystem.renameSync(".\Test", ".\Images\small");
});
我尝试使用 Windows cmd
更改文件夹的只读 属性attrib -r +s "C:\Andersen\Images"
但是没用。如果重要的话,我有 Windows 7 Pro。 Windows GNU 也不起作用。 "Attribute changer" 程序确实更改了 属性,但错误仍然出现。 Total Commander 更改无效。 我能用这个做什么?有没有办法用fs将文件写入只读文件夹或建议任何其他模式?
非常感谢您的回答!
最后发现是fs.renameSync()函数出了问题。这就是为什么我使用 fs-extra 和它的 copy() 函数。
var filesystem = require("fs-extra");
filesystem.copy(file,".\Images\big\" + stat.size + ".jpg", function (err, data) {
if (err) throw err;
});