我正在寻找一种在Express中清空目录的方法。
基本上,我有一个tmp
目录,我存储临时文件,而且每隔一段时间我只想清空所有文件的文件夹,但不删除文件夹本身。< / p>
最好的方法是什么?我目前正在使用Node v0.8.9
和Express v.3.0.0rc4
。
答案 0 :(得分:2)
答案 1 :(得分:0)
我写了这个名为remove folder的函数。它将递归删除某个位置中的所有文件和文件夹。它需要的唯一包是异步。 var async = require(&#39; async&#39;);
function removeFolder(location, removeFolder, next) {
fs.readdir(location, function (err, files) {
async.each(files, function (file, cb) {
file = location + '/' + file
fs.stat(file, function (err, stat) {
if (err) {
return cb(err);
}
if (stat.isDirectory()) {
removeFolder(file, true, cb);
} else {
fs.unlink(file, function (err) {
if (err) {
return cb(err);
}
return cb();
})
}
})
}, function (err) {
if (err) return next(err)
fs.rmdir(location, function (err) {
return next(err)
})
})
})
}
我稍微更改了一下,不删除原始文件夹,使用以下方法调用它:
removeFolder('/tmp', false, function(err){
//callback
})