1
我有一个文件夹的绝对路径。是否有任何方法知道它包含的子文件夹的数量并获取所有子文件夹的名称JavaScript(nodejs)。 我GOOGLE了它,但找不到任何解决方案。如何知道所有子文件夹的名称
我有一个文件夹的绝对路径。是否有任何方法知道它包含的子文件夹的数量并获取所有子文件夹的名称JavaScript(nodejs)。 我GOOGLE了它,但找不到任何解决方案。如何知道所有子文件夹的名称
你想要the fs module。
var fs = require('fs');
var path = '/Users/quentin';
var filenames = fs.readdirSync(path);
var count = 0;
filenames.forEach(function (name) {
if (name === "." || name === "..") {
return;
}
if (fs.lstatSync(path + "/" + name).isDirectory()) {
count++;
}
});
console.log(count);
您可以使用这样的事情:
var fs = require('fs');
var path = require('path');
var uid = process.getuid();
var gid = process.getgid();
function countDirs(dir, depth) {
if (! depth) return 0;
depth--;
var dirs = fs.readdirSync(dir);
var result = 0;
var item, stat;
while(dirs.length) {
item = path.join(dir, dirs.shift());
stat = fs.lstatSync(item);
if (! stat.isDirectory()) continue;
var mode = stat.mode.toString(8).split();
result++;
// If process allowed to read dir
if (stat.uid === uid || stat.guid === gid && mode[3] > 3 || mode[4] > 3) {
result += countDirs(item, depth);
}
}
return result;
}
// Example usage
var count = countDirs(process.cwd(), 1);
console.log('Total dirs count:', count);
注意!不要忘记权限!
你需要一个服务器端语言来做到这一点,如PHP。但你可以使用ajax调用一个返回列表的php脚本,然后用JavaScript处理它 – rorypicko
我正在尝试使用Nodejs。是否有可能使用Nodejs – pnkz
好吧,我不确定,今后请提及您正在使用的技术。 – rorypicko