SW Level Up

폴더 자동으로 여러 개 만들기, 파일 자동으로 넣기 본문

컴퓨터 사용법

폴더 자동으로 여러 개 만들기, 파일 자동으로 넣기

SW레벨업 2020. 10. 2. 12:04

문제

  • 폴더를 여러 개 만들어야 하는데 하나씩 만들기가 힘들다
  • 많은 파일을 여러 폴더로 이동해야 하는데 일일이 옮기기가 힘들다

목표

  • 폴더로 만들어야 할 이름의 목록이 있다면 한 번에 폴더들을 만든다
  • 파일들을 이름으로 구분해서 각각 특정 폴더로 넣는 작업을 한 번에 한다

목차

  1. 소개
  2. 엑셀을 이용해 폴더를 자동으로 만들기
  3. 엑셀을 이용해 파일을 폴더에 자동으로 넣기

소개

폴더로 만들어야 할 이름의 목록이 있을 때, 이 이름들이 규칙이 있는 것도 아닐 때, 어떻게 하면 자동으로 만들 수 있을까 고민된다면 엑셀을 사용해보자.

Windows PowerShell이나 명령 프롬프트에 넣을 폴더 생성 명령어를 엑셀의 셀 복사 기능을 이용해 자동으로 만들 수 있다.

자동으로 만들어진 이 명령들을 명령 프롬프트에 붙여넣기만 하면 각 셀의 명령이 차례로 수행되어 폴더가 만들어진다.

다수의 파일을 폴더에 넣는 작업도 같은 방법으로 가능하다.

 

엑셀을 이용해 폴더를 자동으로 만들기

만들 폴더들의 이름을 셀에 넣는다.

이름에 규칙이 없어도 된다

2020-01이라는 폴더를 만드는 명령어는 mkdir 2020-01이다.

엑셀에서 두 문자열을 붙이는 방법은 문자열 연결 연산자인 '&'를 사용하거나, 함수인 CONCATENATE()를 사용하면 된다.

mkdir 명령어와 A1 셸의 폴더 이름을 연결해보자.

문자열 연결 연산자를 사용한다면 ="mkdir "&A1 이렇게 하면 된다.

문자열 연결 함수를 사용한다면 =CONCATENATE(“mkdir “,A1) 이렇게 하면 된다.

문자열은 큰따옴표로 감싸야 하고 mkdir 명령과 폴더 이름 사이엔 공백이 있어야 한다.

B1 셸에 ="mkdir "&A1 를 입력하고 셸의 오른쪽 아래 네모난 부분을 더블클릭하면 자동으로 채워진다.

& 연산자로 문자열을 연결한다

만들어진 B 열의 문장들을 복사해 파워셸에 붙어넣으면 폴더가 자동으로 만들어진다.

Ctrl+C, V로 붙여넣을 수 있다
폴더가 만들어졌다

 

엑셀을 이용해 파일을 폴더에 자동으로 넣기

폴더를 여러 개 만든 이유는 각 폴더에 넣을 파일이 있기 때문일 것이다.

폴더에 넣을 파일을 이름으로 구분할 수 있다면 폴더에 넣는 작업도 엑셀을 이용해 쉽게 수행할 수 있다.

이름이 202001로 시작하는 모든 jpg 파일을 2020-01 폴더에 넣는 명령어는 move 202001*.jpg 2020-01이다.

따라서 2020-01이란 폴더 이름은 A1 셸에, 202001이란 파일 이름 접두어를 B1 셸에 넣었다면 ="move "&B1&"*.jpg "&A1 이 된다.

파일을 폴더에 넣을 때는 move를 쓴다

move 명령어와 파일 이름, 폴더 이름은 공백으로 구분해야 하니 주의하자.

또한 명령의 파일 이름과 폴더 이름은 경로로 나타낼 수도 있다.

예를 들어 바탕화면에 파일이 있다면 현재 로그인 사용자의 홈 폴더를 나타내는 ~ 기호를 사용해 파일 이름을 202001*.jpg가 아닌 ~/Desktop/202001*.jpg로 하면 된다.

7 Comments
  • 프로필사진 tt 2020.10.08 14:17 안녕하세요 선생님. 올려주신 내용으로 거즘 반 자동화 까지 완성을 했습니다.
    허나 완전히 자동화를 하고싶어서 추가적으로 문의 드려봅니다.

    AAA\BBB\CCC에 있는 카테고리에서 *aaa*.jpg 파일을 AAA\DDD\EEE로 옮기고 싶습니다.
    상위 카테고리로 올라가는 .. 를 써봐도 어디에선가 계속 에러가 발생하여 결국 파일들을 따로 복사해서 DDD로 넣고 move 명령어 이용해서 분류는 하였지만 조금 더 편해져 보고파 욕심이 납니다.

    좋은 견해 부탁드립니다.

    감사합니다.
  • 프로필사진 SW레벨업 2020.10.08 20:01 ..은 현재 경로의 상위 폴더를 뜻합니다.
    즉 현재 폴더가 C:\Users\swlevelup이라면 여기서 ..은 C:\Users이며 ..\AAA는 C:\Users\AAA입니다.
    댓글의 AAA\BBB\CCC와 AAA\DDD\EEE 경로 중 AAA가 같은 폴더라고 가정하겠습니다.
    현재 경로가 AAA 일 경우 CCC에 있는 *aaa*.jpg 파일을 EEE로 옮기는 명령은 move BBB\CCC\*aaa*.jpg DDD\EEE 입니다.
    현재 경로를 옮기는 명령은 cd입니다.
    C:\Users\swlevelup에서 cd AAA를 하면 C:\Users\swlevelup\AAA로 현재 경로가 바뀌게 됩니다.
    어떤 명령을 썼는지 알려주시면 좀 더 쉽게 답변해 드릴 수 있습니다.
  • 프로필사진 tt 2020.10.11 13:12 아 감사합니다!
    말씀하신대로 AAA는 동일한 폴더가 맞고, 이동할 파일명 작성 후에는 상위카테고리 기준에서 움직일 경로만 작성해주니 자동으로 분류되어 정리가 되는군요 ㅠㅠ 덕분에 매일 손목 부여잡고 수작업으로 진행하던걸 빠르게 진행시킬 수 있게 되었습니다. 감사합니다!!
  • 프로필사진 tt 2020.10.12 11:27 안녕하세요. 추가적으로 질문 한가지 더 드려봅니다.
    앞서 말씀해 주신 기능들을 윈도우 환경에서는 아무런 오류 없이 잘 작동되는 것을 확인했지만, 맥 환경에서 파워쉘 설치 후에 동일하게 작동시켜보니 한글경로들이 깨지는 현상이 발생되는데 혹시 해당 현상에 대한 해결책이 있을까요?
  • 프로필사진 tt 2020.10.12 11:44 ???????? -> 이런식으로 경로상의 한글폴더명이 깨져버립니다.
  • 프로필사진 SW레벨업 2020.10.12 14:20 신고 윈도우에 파워셸이 있듯 맥에는 터미널이란 기본 앱이 있습니다.
    터미널(Terminal.app)을 사용해보세요.
    다른점은 파일을 이동하는 명령어가 move가 아니라 mv입니다.
  • 프로필사진 tt 2020.10.13 14:32 터미널 이용하여 비슷하게 구현되도록 열심히 구글링하고 해봤지만 ㅠ 한글파일명을 아무리 해도 인식을 못하고 못찾아서 GG쳤습니다..
댓글쓰기 폼