我一直在浏览stackoverflow主题,找到有用的东西,但实际上并没有什么。我需要的是(可能)一些模块,你可以像这样调用:
someModule('/start/path/', 'list', function(err, list) {
// list contains properly structured object of all subdirectories and files
});
也是这个
someModule('/start/path/', 'remove', function(err, doneFlag) {
// doneFlag contains something like true so i can run callback
});
我需要以上功能为我的学生创建迷你网页构建ftp /代码编辑器。
重要的是,列表包含NOT文件的正确结构,以及它们所在的子目录。它不一定非常容易,就像在我理想的例子中一样,最重要的是功能就在那里。感谢您的所有推荐。
答案 0 :(得分:2)
我根据自己的需要制作了一个模块,可以帮到你。看看alinex-fs。这是node.js fs模块的扩展,可以用作替换。
另外它有一个非常强大的fs.find()方法,它将递归搜索并匹配linux find命令之类的文件。搜索内容由简单的配置哈希完成。 然后你可以遍历结果并删除所有内容(也是递归的)。
示例用法可能如下所示:
# include the module
var fs = require('alinex-fs');
# search asynchronouse
fs.find('/tmp/some/directory', {
include: 'test*',
type: 'dir'
modifiedBefore: 'yesterday 12:00'
# and much more possibilities...
}, function(err, list) {
if (err) return console.error(err);
# async included here for readability but mostly moved to top
var async = require('async');
# parallel loop over list
async.each(list, function(file, cb) {
# remove file or dir
return fs.remove(file, cb);
}, function(err) {
if (err) return console.log(err);
console.log('done');
});
});
如果您已经有需要删除的条目列表,您也可以只使用上述代码的内部函数。
我希望这会帮助你更进一步。如果没有,请更具体地提出您的问题。