발생일: 2009.08.13

문제:
매일 쓰는 프로그램을 좀 쉽게 열고자 배치 프로그램을 작성하려고 한다.
.bat 배치 파일을 만들어서, 단순히 아래와 같이

@echo off
C:\Program Files\Mozilla Firefox\firefox.exe
C:\Program Files\Internet Explorer\iexplore.exe
C:\QuickStart\setNetworkDrive.bat

해당 exe 파일 주소를 입력하고 저장하여 실행했더니 C:\Program 은 올바른 프로그램이 아니라는 경고 메시지가 뜬다.

어떻게 해야 할까?

해결책:
여러 개의 프로그램이 동시에 실행되게 하기 위해선 몇 가지 주의하여 작성할 점이 있다.

1. 파일 경로 문제
배치 파일에서 실행시킬 파일의 주소에 공백이 들어갈 경우, 공백을 정상적으로 인식하지 못한다.
그렇기 때문에 실행시킬 경로를 따옴표(")로 묶어 주면 된다.
([윈 도우] 공백이 들어간 폴더명/파일명의 파일 실행하기 - Windows 에서 참고)

2. 동시 실행 문제
단순히 위와 같이 파일 경로만 정해주면,
파일이 실행된 후에 그 파일이 종료되고 커맨드가 실행창으로 넘어올 때까지 대기하게 된다.
동시 실행을 위해서는 배치 명령어 start 를 사용하면 되겠다.
start 명령어의 /d 옵션은 파일의 시작 위치를 나타내며, /b 는 새로 창을 띄우지 않겠다는 옵션이다.
(cmd 에서 start /? 으로 확인해보자)

3. 배치 파일의 실행
다른 배치 파일은 call 명령어를 이용해 실행시켜야 한다.
@echo off는 명령줄이 화면에 보이지 않게 하는 것.

최종적인 모습은 아래와 같다.

@echo off
start /d "C:\Program Files\Mozilla Firefox\" /b firefox.exe
start /d "C:\Program Files\Internet Explorer\" /b iexplore.exe
call "C:\QuickStart\setNetworkDrive.bat"


* 좋은 참고 사이트: 윈 도우에서 여러 프로그램을 한 번에 실행시키는 팁에 대해 아주 잘 정리해 놓은 블로그가 있다.

참고 사이트
http://www.plengineer.com/733
http://ohgyun.com/173 
잘 봤습니다. @echo off 만 추가했습니다.
Posted by 노을지기