Express でディレクトリを空にする方法を探しています。
基本的に、tmp
一時ファイルを保存しているディレクトリがあり、すべてのファイルのフォルダーを空にしたいだけで、フォルダー自体を削除したくないことがよくあります。
これを行う最善の方法は何ですか?現在 と を使用Node v0.8.9
してExpress v.3.0.0rc4
います。
remove folder と呼ばれるこの関数を書きました。ある場所にあるすべてのファイルとフォルダーを再帰的に削除します。必要なパッケージは async だけです。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
})