node.js로 파일 확장자명에 따라 분류하기

JavaScript/Node.js · 2022. 2. 3. 01:35
const fs = require("fs");
const path = require("path");

fs.readdir("./test/", (err, files) => {
  files.forEach((file) => {
    const oldPath = path.join("./test", file);

    if (oldPath.includes(".png") || oldPath.includes(".aae")) {
      fs.mkdir("./test/captured", () => {
        fs.rename(oldPath, `./test/captured/${file}`, (err, data) => {});
      });
    } else if (oldPath.includes(".mp4") || oldPath.includes(".mov")) {
      fs.mkdir("./test/video", () => {
        fs.rename(oldPath, `./test/video/${file}`, (err, data) => {});
      });
    } else if (oldPath.includes("E")) {
      const originalFile = file.replace("E", "");
      const oldPath = path.join("./test", originalFile);
      fs.mkdir("./test/duplicated", () => {
        fs.rename(
          oldPath,
          `./test/duplicated/${originalFile}`,
          (err, data) => {}
        );
      });
    }
  });
});
  • 드림코딩 node.js 강의 들으며 만들어 본, 노드로 확장자에 따라 파일 분류하는 script다
    • png, aae파일은 captured에, mp4, mov는 video에, ‘IMG_E1234’와 같이 E가 들어가는 파일명은 수정된 파일이므로 원본인 ‘IMG_1234’를 duplicated에 분류하는 작업을 수행한다

잘한 점:

  • 일단 레퍼런스 안 보고 했음
  • 웹 서버로서의 노드가 아닌.. 데스크탑 앱으로서의 노드를 처음 경험해봄

아쉬운 점:

  • 코드가 더러움(ㅎㅎ)

레퍼런스를 첨부하고 싶지만 저작권 위반일까봐 두렵기에... 생략

레퍼런스를 보고 느낀 점:

  • process.argv로 디렉토리명을 사용자 입력으로 받아올 수 있다
  • 함수 분리하자
  • &&, || !! 연산자 잘 써서 코드 깔끔하게 정리하자

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

node.js + express 로 슬랙봇 만들기  (0) 2022.03.14