레이블이 조건문인 게시물을 표시합니다. 모든 게시물 표시
레이블이 조건문인 게시물을 표시합니다. 모든 게시물 표시

2019년 5월 19일 일요일

특정 폴더에 속한 여러 폴더 각각에 속해진 많은 파일을 일괄적으로 하나의 폴더에 모으는 방법

아래 내용은 사진이나 동영상 등 파일 수가 많은 자료를 다뤄야하는 경우에 종종 발생하는 일이다.

예를 들어 C:\Test\Test1\ 아래에 100개의 파일이 있고
C:\Test\Test2\ 아래에 100개의 파일이 있고
C:\Test\Test3\ 아래에 100개의 파일이 있고
C:\Test\Test4\ 아래에 100개의 파일이 있고
C:\Test\Test5\ 아래에 100개의 파일이 있고
....
C:\Test\Test500\ 아래에 100개의 파일이 있는 경우에

이 50,000개의 파일을 모두 C:\Test_up 이라는 폴더로 모아야 할 필요가 생겼다고 가정해보자.

이런 경우, 각 폴더에 클릭하고 들어가서 잘라내기/붙여넣기를 500번이상 하고 싶은 사람은 없을 것이다.

이럴 때는 명령 프롬프트 창을 열어서 간단히 조건문 명령어 스크립트를 입력해 주면 간단히 해결할 수 있으며 아래와 같은 순서로 진행하면 된다.

1. 먼저 명령 프롬프트 창을 연다.(아래의 그림 참고)


2. 그리고 아래와 같이 내가 복사하고 싶은 자료가 모여있는 폴더로 이동하여 아래 및 그림과 같이 입력한다. (아래 내용은 위의 사례를 해결하기 위한 조건문임)
C:\test>for /r %i in (*.*) do copy "%i" C:\Test_up 



위에 입력한 내용에 대한 해석은 다음과 같다

For - "조건 명령문을 실행하는데" 
/r - "해당 폴더의 하위 폴더 파일까지 처리해달라"
%i - "대소문자를 구분하는 바꿀 수 있는 매개 변수를 지정해달라.(특별시 path를 지정하지 않고 대소문자를 구분하므로 그냥 i 만 사용"
in (*.*) - "모든 파일에 대한 적용"
do copy - "copy 명령을 실행해 달라"
"%i" - "copy되는 파일명에 적용되는 내용이며 따옴표가 있어야 이름에 공백이 있는 파일도 적용가능함"

추가로 For 명령문에 대한 내용은 for /? 를 통해서 확인하고
필요한 내용을 추가 적용하면 된다.