배치 파일 for 문법으로 하위폴더의 파일을 폴더구조 빼고 대상에 복사하기

lib로 모듈을 만들어서 sdk개념으로 배포할려고 준비중에 여러 하위 폴더에 있는 h파일을들 한 곳에 복사해줘야 하는 일이 생겼습니다. 그래서 바로 xcopy로 옵션을 줘가면서 해봤지만 하위 폴더 구조 통으로 대상 폴더에도 복사가 되더군요. 대상 폴더에는 폴더 구조는 빼고 파일만 복사가 되었으면 했는데 암만 옵션 찾아보고 구글링 해봐도 xcopy로는 해결이 안되었습니다.

그래서 이번에 c#도 공부했겠다 후딱 툴로 만들어버릴까? 하다가 순간 bat 파일로 만들어보자해서 구글링을 통해 아래와 같이 만들었습니다.



@echo off

for /r %%i in (*.h) do copy "%%i" d:\z



위에 처리한 명령에 대한 설명입니다.

/r : 하위 디렉토리 파일까지 처리
%%i : 변수명으로 대소문자 구분.
(*.h) : 와이들카드 기입하면 된다. h 파일만 복사할 것이므로 이렇게 처리.
do 다음 : 원하는 명령어 기입
"%%i" : 파일명들이 명령어에 자동 대입되는 부분이다. ""로 둘러싸야 공백 있는 파일명도 처리할 수 있다.
d:\z : 복사 대상 폴더. 원하는 대상으로 기입

더 세부적인 처리에 대해 알고 싶다면 콘솔창에서 for/? 하시면 됩니다.

댓글

이 블로그의 인기 게시물

'xxx.exe' 프로그램을 시작할 수 없습니다. 지정된 파일을 찾을 수 없습니다.

goorm IDE에서 node.js 프로젝트로 Hello World Simple Server 만들어 띄워보기

애드센스 수익을 웨스턴 유니온으로 수표대신 현금으로 지급 받아보자.