我正在寻找一种方法来清空 Express 中的目录。
基本上,我有一个tmp
存储临时文件的目录,我经常只想清空所有文件的文件夹,而不是删除文件夹本身。
做这个的最好方式是什么?我目前正在使用Node v0.8.9
和Express v.3.0.0rc4
。
我写了这个叫做删除文件夹的函数。它将递归删除某个位置的所有文件和文件夹。它唯一需要的包是异步的。var async = require('async');
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
})