将文件移动到具有节点fs的只读文件夹中

问题描述 投票:0回答:4

我使用node.js fs工具将文件从一个目录移动到另一个目录时遇到问题。我可以读,但不能写。我怀疑问题出在只读属性中,它抛出

不允许使用EPERM操作'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也不起作用。 “属性更改器”程序确实更改了属性,但是仍然出现错误。总指挥官更换无效。我该怎么办?是否可以通过fs将文件写入只读文件夹或建议其他方式?

感谢您的回答!

javascript node.js windows fs
4个回答
1
投票

最后发现问题出在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;
});

0
投票
var data = fs.readFileSync('/path/to/some/file.txt','utf8');
fs.readFile('/path/to/some/file.txt', function (err, data) {
  if (err) throw err;
  console.log(data);
});
var readStream = fs.createReadStream('/path/to/some/file.txt');

让我们尝试上面的编码...


0
投票
fs.write.File('/path/to/some/file.txt',function(err) {
    if (err) throw err;
    console.log(data);
});

0
投票
fs.writeFile('/path/to/some/file.txt',function (err,data) {
  if (err) throw err;    
  console.log(data);  
});
© www.soinside.com 2019 - 2024. All rights reserved.