ディレクトリ内のすべてのディレクトリを取得する nodejs 質問する

ディレクトリ内のすべてのディレクトリを取得する nodejs 質問する

これが簡単なことであればいいなと思っていたのですが、そうするための方法が見つかりません。

特定のフォルダー/ディレクトリ内のすべてのフォルダー/ディレクトリを取得したいだけです。

たとえば次のようになります。

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

次のような配列が返されると思います:

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

または、パス付きで上記が提供された場合は...

では、上記のようなことを実行するものがすでに存在しているのでしょうか?

ベストアンサー1

約束

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)

おすすめ記事