[NodeJS] 디렉토리 안에 디렉토리인 것만 찾기

2019. 5. 22. 12:06· WEB/Node.js
반응형

[NodeJS] 디렉토리 안에 디렉토리인 것만 찾기


fs 모듈에서 

디렉토리 안을 읽는 readdirSync 과 디렉토리인지 검사하는 isDirectory 함수를 사용해서 간단하게 만들 수 있다.

 

먼저, readdirSync 을 보면

옵션으로 withFileTypes가 있고, 기본값은 false이지만, true로 추가해 주면 결과에 fs.Dirent 객체가 포함된다고 한다.

nodejs.org

 

isDirectory 는 stats.isDirectory() 와 dirent.isDirectory() 두 가지가 있다.

 

 

1. stats.isDirectory()는 stat 객체가 디렉토리인지 체크하는 함수이며, 아래와 같이 디렉토리를 체크할 수 있다.

fs.lstatSync('파일').isDitectory()
fs.lstat('파일').isDitectory()

 

2. dirent.isDirectory()는 dirent 객체가 디렉토리인지 체크하는 함수이며, 아래와 같이 디렉토리를 체크할 수 있다.

 

공식홈페이지를 캡쳐한 아래 이미지를 보면 fs.Dirent 클래스는 fs.readdir() 또는 fs.readdirSync()를 부를 때 withFileTypes 옵션을 True로 하면 fs.Dirent 객체가 함께 결과로 표시된다고 나와있다.

 

즉, 디렉토리 안에 내용들이 파일인지, 디렉토리인지 검사하기 위해서는 readdirSync()또는 readdir() 에 withFilesTypes옵션을 True로 해서 검색 한 결과에 원하는 조건을 추가 하면 된다.

 

디렉토리인지 체크하기 위해서는 아래와 같이 하면 된다.

const fs = require('fs');
const path = 'C:/';

// 디렉토리 검색
fs.readdirSync(path, {withFileTypes: true}).forEach(p => {
    const dir = p.name
    if (p.isDirectory()) {  // 디렉토리인지 체크
        console.log(`${dir} is Directory!!!`)
    }
});

 

 

 


[참고] https://nodejs.org/api/fs.html#fs_fs_readdirsync_path_options

반응형
저작자표시 비영리 변경금지 (새창열림)

'WEB > Node.js' 카테고리의 다른 글

[Node.js] yarn에서 npm으로 변환하기  (0) 2020.12.09
[NodeJs][Error] npm install 시 cannot find module 'node-gyp/bin/node-gyp'  (0) 2020.12.03
[NodeJS] 동기/비동기  (0) 2019.04.18
[NodeJS] Popper.js 추가 오류 해결 방법  (0) 2019.04.17
[Node.JS] ffmpeg 영상 코덱 변경 방법  (0) 2019.02.27
'WEB/Node.js' 카테고리의 다른 글
  • [Node.js] yarn에서 npm으로 변환하기
  • [NodeJs][Error] npm install 시 cannot find module 'node-gyp/bin/node-gyp'
  • [NodeJS] 동기/비동기
  • [NodeJS] Popper.js 추가 오류 해결 방법
S0PH1A
S0PH1A
반응형
S0PH1A
Web Programmer
S0PH1A
전체
오늘
어제
  • 전체
    • About Me
    • Python
      • Python
      • Django
    • DataBase
      • MySQL
      • MongoDB
    • JAVA
      • JAVA
      • Spring
    • WEB
      • JavaScript
      • HTML
      • CSS
      • Vue.js
      • React
      • Nest.js
      • Node.js
      • Electron
      • PHP
    • Linux
    • Algorithm
    • 기타
    • 생각
    • App
      • ReactNative

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • Error
  • Python
  • javascript
  • electron
  • nodejs
  • django
  • install
  • vue.js
  • vue
  • mysql

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
S0PH1A
[NodeJS] 디렉토리 안에 디렉토리인 것만 찾기
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.