如何知道所有子文件夹的名称

我有一个文件夹的绝对path。是否有任何方法来知道它包含的子文件夹的数量,并获得所有使用JavaScript(nodejs)的子文件夹的名称。 我GOOGLE了,但找不到任何解决scheme。

你想要的FS模块 。

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); 

注意 ! 不要忘记权限!