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

时间:2015-08-13 10:26:56

标签: javascript node.js windows fs

使用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将文件写入只读文件夹或建议任何其他模式?

我将感谢您的回答!

4 个答案:

答案 0 :(得分: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;
});

答案 1 :(得分: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');

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

答案 2 :(得分:0)

fs.writeFile(' /path/to/some/file.txt' ;, function(err,data)

{

if(err)throw err;

的console.log(数据);

});

答案 3 :(得分:0)

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