0

Express でディレクトリを空にする方法を探しています。

基本的に、tmp一時ファイルを保存しているディレクトリがあり、すべてのファイルのフォルダーを空にしたいだけで、フォルダー自体を削除したくないことがよくあります。

これを行う最善の方法は何ですか?現在 と を使用Node v0.8.9してExpress v.3.0.0rc4います。

4

2 に答える 2

2

この小さいながらも優れたモジュールを確認してください。

https://github.com/isaacs/rimraf

または、公式ドキュメントと例を確認してください。

http://nodejs.org/docs/v0.4.1/api/fs.html#file_System

于 2013-02-02T13:43:30.100 に答える
0

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
})
于 2014-07-31T22:19:34.297 に答える