반응형

윈도우즈 OS에서 배치파일(.bat)을 이용해서 여러가지 프로그램과 배치파일을 동시에 실행시킬 경우가 있다.

그냥 생각했을 때는 아래와 같이 bat 파일에 작성하여 실행될 것 같다.

C:\Program Files\Internet Explorer\iexplore.exe

C:\Program Files (x86)\Evernote\Evernote\Evernote.exe

cmd

cmd

testrun.bat 

하지만 위와 같이 실행을 하면 내가 원하는 대로 되지 않는다.

첫째, 실행파일 경로 "Internet Explorer" 에 공백이 있어서 브라우저를 띄울 수 없다.

둘째, 이들 명령어는 순차적으로 실행이 되기 때문에, 동시에 수행이 되지 않는다. 창을 하나 닫으면 그 다음 명령어가 실행이 된다.

셋째, testrun.bat파일이 수행되지 않는다.

넷째, cmd 창이 두개인데 둘을 구분할 수 없다.

이것들을 내가 원하는데로 실행하려면 아래와 같이 수정을 하면 된다.

start /d "C:\Program Files\Internet Explorer\" /b iexplore.exe

start /d "C:\Program Files (x86)\Evernote\Evernote\" /b Evernote.exe

start "test1" cmd

start "test2" cmd

call testrun.bat 

첫째, 실행파일 경로 "Internet Explorer" 에 공백이 있어서 브라우저를 띄울 수 없다.

=> 공백은 " 로 묶어주면되고, /d 옵션은 경로를, /b 옵션은 실행파일을 적어주면 된다.

둘째, 이들 명령어는 순차적으로 실행이 되기 때문에, 동시에 수행이 되지 않는다. 창을 하나 닫으면 그 다음 명령어가 실행이 된다.

=> start 명령을 사용하면, 병렬적으로 여러 프로세스가 수행된다.

셋째, testrun.bat파일이 수행되지 않는다.

=> call 명령어를 사용하여 다른 bat파일을 수행할 수 있다.

넷째, cmd 창이 두개인데 둘을 구분할 수 없다.

=> start명령에서 처음 ""안에 타이틀을 적을 수 있다.


정상적으로 수행이 되면 아래와 같이 여러 창이 동시에 뜨는 것을 볼 수 있다.

참고로, start명령은 "start /?" 를 cmd창에 입력하면 자세한 옵션 설명을 볼 수 있다.


반응형

+ Recent posts