본문 바로가기

Computer Tips

배치파일로 프로그램 실행하기


내가 사용하는 코드들은 화려한 GUI는 뒷전이고 코맨드 프롬프트 상에서 실행하는 것이 대부분이다, 아래와 같이 말이다.

그림 1. 콘솔용 프로그램 실행 예

미리 여러가지 경우에 대해서 코드가 알아서 돌도록 할 수 없을까를 고민하다가 배치파일을 사용한 방법을 알게 되었고 이를 소개해 본다.

2가지 경우를 순차적으로 돌리기 위해 runmulticat_0p01x2.bat이라는 배치파일을 만들었다. 아래는 배치파일의 내용이다.

cd %CD%\0.01mk\LRV

start /MIN /WAIT C:\cathena\bin\cat3_5d_rev2 w1_fresh_100.inp,output.dat

cd..

cd %CD%\NO-LRV

start /MIN C:\cathena\bin\cat3_5d_rev2 w1_fresh_100.inp,output.dat

명령어 설명은 다음과 같다. cd 명령어는 해당 디렉토리로 이동하는 명령어이다.

%CD%: 현재 배치 파일(runmulticat_0p01x2.bat) 위치한 디렉토리 주소(Current Directory) 담은 변수

/MIN: 실행 창을 최소화(Minimize)하여 실행

/WAIT: 해당 프로시저가 종료 다음 프로시저를 실행 ( 예제의 경우 LRV실행 종료 NO-LRV 실행됨)

아래는 총 4가지 경우를 2개씩 동시에 실행시키기 위해 만든 배치파일의 내용이다. (/WAIT 옵션이 어디에 있는지를 눈여겨 보길 바람.)

cd %CD%\0.01mk\LRV

start /MIN C:\cathena\bin\cat3_5d_rev2 w1_fresh_100.inp,output.dat

cd..

cd %CD%\NO-LRV

start /MIN /WAIT C:\cathena\bin\cat3_5d_rev2 w1_fresh_100.inp,output.dat

cd..

cd..

cd %CD%\0.001mk\LRV

start /MIN C:\cathena\bin\cat3_5d_rev2 w1_fresh_100.inp,output.dat

cd..

cd %CD%\NO-LRV

start /MIN C:\cathena\bin\cat3_5d_rev2 w1_fresh_100.inp,output.dat

배치 파일 작성시 다음 유의사항은 꼭 지키길 바람.

폴더 명에 퍼센트(‘%’)문자가 있는 경우 배치 파일이 오작동하므로 가급적이면 사용하지 않음.

해당 배치파일이 위치한 전체 주소 길이가 너무 길면 배치 파일의 작동이 되는 경우가 있으므로 가급적이면 폴더 이름을 단순화하여 사용할 것을 권장.

아래 사이트를 참조하면 도스 명령어에 대한 여러가지 지식을 얻을 수 있다.
“Microsoft DOS start command,” Computer Hope.com (http://www.computerhope.com/starthlp.htm)