获取目录nodejs中的所有目录

新手上路,请多包涵

我希望这将是一件简单的事情,但我找不到任何东西可以这样做。

我只想获取给定文件夹/目录中的所有文件夹/目录。

例如:

 <MyFolder>
|- SomeFolder
|- SomeOtherFolder
|- SomeFile.txt
|- SomeOtherFile.txt
|- x-directory

我希望得到一个数组:

 ["SomeFolder", "SomeOtherFolder", "x-directory"]

或者上面的路径,如果这是它的服务方式……

那么是否已经有任何东西可以完成上述操作?

原文由 Grofit 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 594
2 个回答

承诺

import { readdir } from 'fs/promises'

const getDirectories = async source =>
  (await readdir(source, { withFileTypes: true }))
    .filter(dirent => dirent.isDirectory())
    .map(dirent => dirent.name)

打回来

import { readdir } from 'fs'

const getDirectories = (source, callback) =>
  readdir(source, { withFileTypes: true }, (err, files) => {
    if (err) {
      callback(err)
    } else {
      callback(
        files
          .filter(dirent => dirent.isDirectory())
          .map(dirent => dirent.name)
      )
    }
  })

同步

import { readdirSync } from 'fs'

const getDirectories = source =>
  readdirSync(source, { withFileTypes: true })
    .filter(dirent => dirent.isDirectory())
    .map(dirent => dirent.name)

原文由 Nick McCurdy 发布,翻译遵循 CC BY-SA 4.0 许可协议

使用路径列出目录。

 function getDirectories(path) {
  return fs.readdirSync(path).filter(function (file) {
    return fs.statSync(path+'/'+file).isDirectory();
  });
}

原文由 Titlacauan 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题