mwultong Blog ... 프로그래밍 / 계산기

컴퓨터 엑셀 워드 포토샵 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Thursday, September 28, 2006

배치파일] FOR 문 예제. for in do 사용법 - 도스 DOS Bat File 강좌


도스창의 각 명령어들은, *.* 등의 와일드카드(Wildcard)를 사용하여 여러 개의 파일들을 한꺼번에 처리할 수 있지만, 한 번에 1개씩만 처리할 수 있는 명령어나 프로그램들이 가끔 있습니다. 그럴 때는 각 파일에 한번씩 명령어를 적용해 주느라 아주 힘들게 됩니다. 다루어야 할 파일이 수천 개라면 알바를 고용해야 할지도 모릅니다. 이때 for 문을 사용하면, 와일드카드가 지원되지 않는 명령어/프로그램에 와일드카드를 적용시킬 수 있어 편리합니다.

즉, 배치파일의 for문은, 와일드카드가 적용되지 않는 명령어/프로그램에 와일드카드를 만들어 줄 수 있습니다.


for문 예제


가장 간단하고 쉬운 예제입니다. 다음의 코드를 0.bat 등의 이름으로 하드에 저장하고 실행합니다.
@echo off


for %%i in (*.*) do attrib "%%i"

이 예제는, 현재 디렉토리의 모든 파일의 속성을 화면에 한꺼번에 출력하는 것입니다. (attrib 명령은 파일이나 디렉토리의 속성을 보거나 변경하는 것인데, 와일드카드가 지원되어 한꺼번에 여러 개의 파일을 바꿀 수 있지만, 여기서는 예를 들기 위해, 그런 기능이 없다고 가정합니다. 즉 한 번에 1개의 파일만 처리할 수 있다고 생각합니다.)


실행 결과:
D:\Z>0.bat
A          D:\Z\.bashrc
           D:\Z\.bash_profile
A          D:\Z\.inputrc
A          D:\Z\0.bat
A          D:\Z\0.cpp
A          D:\Z\0.htm
A          D:\Z\0.pl
A          D:\Z\0.txt
           D:\Z\1.txt
           D:\Z\ddd Foo.java
           D:\Z\Foo.class
           D:\Z\Foo.java
     R     D:\Z\test.jpg

D:\Z>

이렇게 한꺼번에 출력되었습니다.



for문의 문법 설명


for %%i in (*.*) do attrib "%%i"


for 다음에 있는 변수는 %%i 이렇게 퍼센트 기호를 앞에 2개 붙여야 합니다. for문의 변수명은 대소문자를 구분합니다. %i와 %I는 다릅니다. 변수는 대체로 %%i 이렇게 지정하면 됩니다.

in 다음의 (*.*)은 모든 파일을 작업 대상으로 하라는 와일드카드입니다. 이 부분을 (*.txt) 이렇게 하면, 현재 디렉토리(폴더)의 "모든 .txt 확장자를 가진 파일"만 대상으로 합니다.

do 다음에는, 각 파일에 대해 실행할 명령어와 옵션을 적어주면 됩니다.

맨 마지막의 "%%i" 는, 각 파일명들이 명령어에 자동으로 대입되는 부분입니다. 큰따옴표로 둘러싸야만, "공백 있는 파일명"을 다룰 수 있습니다.



for 와 %%i 사이에 넣는 옵션들


다음 옵션들을 for 뒤에 적어 주면 작업 방식을 변경할 수 있습니다.

/d : 파일이 아닌 디렉토리들을 작업 대상으로 함

/r : 하위 디렉토리의 파일들까지 처리합니다.



for문은 배치 파일의 고급 테크닉에 사용되는 것입니다. 그래서 잘못 사용하면 위험하기도 합니다. 어떤 파일들이 처리 대상이 될지 잘 파악해야 하고, 임시 파일들을 만들어 충분히 테스트해 보아야 합니다.



도스창에서,
for /?
라고 하면, for문에 대한 더 자세한 도움말이 나옵니다.



▶▶ 배치파일] FOR문으로, 텍스트 파일 행 처리 - 도스 DOS Bat File 강좌

▶▶ C언어] cl.exe: 소스 파일 여러개 한꺼번에 컴파일하는 배치파일: Multiple Source Files Compile at Once




tag: batch
배치파일 | DOS CMD BATCH .BAT | VBScript .VBS

1 Comments:
At July 20, 2015 at 12:15 PM, Blogger Unknown said...

정말 감사합니다 많은 도움이 되었어요^^

 

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Previous Posts
Monthly Archives
Top