【发布时间】:2017-04-09 19:28:18
【问题描述】:
我正在尝试使用模块 fs 删除文件夹中的一些文件。 仅当文件较早(修改时间)为 1 分钟时,我才需要删除文件。 但我得到一个奇怪的错误。
var fs = require("fs");
var files = fs.readdirSync("./folder");
for (var i in files) {
fs.stat("./folder/" + files[i], function (err, stats) {
var currentTimestamp = Math.round(new Date().getTime() / 1000);
var fileTimestamp = Math.round((new Date(stats.mtime).getTime() / 1000));
if ((currentTimestamp - fileTimestamp) > 60 * 1) {
//Elimino il file di cache
fs.unlinkSync("./folder/" + files[i], function (err) {
if (err) {
console.log(err);
} else {
console.log("File deleted");
}
});
}
});
}
不幸的是,我收到了这个错误
fs.js:765
return binding.unlink(pathModule._makeLong(path));
^
Error: ENOENT, no such file or directory
为什么会这样? 我该如何解决?? 谢谢
编辑
我在fs.unlinkSync("./folder/" + files[i], function (err) 之前创建了一个日志,我看到它被同一个文件调用了 2 次......但文件夹中只有一个文件......具有该名称
【问题讨论】:
-
如果包含堆栈跟踪会更好
-
您何时使用
unlinkSync时如何提供callback?如果你想要回调,它应该是unlink。
标签: javascript node.js fs