0

我正在寻找一种方法来清空 Express 中的目录。

基本上,我有一个tmp存储临时文件的目录,我经常只想清空所有文件的文件夹,而不是删除文件夹本身。

做这个的最好方式是什么?我目前正在使用Node v0.8.9Express 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

我写了这个叫做删除文件夹的函数。它将递归删除某个位置的所有文件和文件夹。它唯一需要的包是异步的。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 回答