본문 바로가기
IT와 인터넷

배치파일(bat file) 만들기

by I!i어★떤☆날★에Ι!i 2022. 3. 5.
반응형

배치파일은 윈도우의 도스 모드에서 사용하는 명령어들로 구성되어 있는 스크립트(명령어 집합) 파일이다. 자주 사용하는 도스의 명령어들을 하나씩 사용하기 어려울 때, 명령을 정해서 다른 사람들에게 전달할 때 스크립트 형식으로 파일로 만들어서 한 번에 실행시키는 용도로 사용된다. 확장자는 bat이다.

 

* 배치파일의 실행

배치파일은 텍스트 파일로 저장된 파일로써, 도스의 cmd.exe (COMMAND.COM)에서 실행한다. 

cmd.exe화면은 윈도우 하단의 검색창에서 cmd를 치거나, 키보드의 "윈도우키 + R"을 눌러서 나오는 화면에 cmd를 쳐서 들어간다. 또는 윈도우의 쉘 스크립트에서 cmd를 치면 커맨드 모드로 진입할 수 있다.

 

배치파일은 저장할 위치를 선택 한 후, 간단히 메모장이나 VSCODE 등의 편집기를 통해서 만들고. bat라는 확장자로 저장하면 된다.

배치파일
배치파일

 

* 배치파일 만들기

배치파일은 도스명령어의 집합이다.

aaa.bat 파일에 간단히 다음과 같이 입력하고 저장해보자.

배치파일은 확장자가 꼭 bat 이어야 한다. abc.bat

bat확장자가 아니면 윈도우에서 이해를 못 한다.

 

* aaa.bat

@echo off
dir/w
pause

 

이제 aaa.bat 파일을 마우스로 더블클릭해보자.

 

배치파일 실행화면
배치파일 실행화면

현재 디렉터리의 정보가 출력된다.

축하합니다~!!!
프로그램을 만드셨네요!!

 

간단히 프로그램을 하나 만들었다. 저장되어 있으니 다음에 또 쓸 수 있다.

 

반응형

 

* 배치파일 예제 분석

그럼 아까 무슨 짓을 한지 한번 같이 알아보자.

@

골뱅이부터 시작이다.

@ (앳 싸인이라고 부름) 은 현재 줄의 명령어가 보이지 않게 한다.

@를 지우고 저장한 후, 다시 aaa.bat파일을 더블클릭해 보자.

배치파일 @없이 실행
배치파일 @ 없이 실행

echo off 가 보인다.

echo off

다음 명령어들은 왜 안보이지? 

echo off는 이제부터 내가 작성하는 명령어를 모두 보이지 않게 하겠다는 뜻이다.

보통 echo off는 @와 같이 사용한다. @를 사용하지 않으면 echo off라고 쓴 명령줄도 보이지 않게 되므로, 내가 작성한 모든 명령들이 보이지 않게 되기 때문에 사용한다.

 

@echo off 줄을 지우면 다른 작성한 명령어들이 보이게 된다.

배치파일에서 echo off 지우고 실행
echo off 지우고 실행

혹시 여러분이 배치파일을 받았다면 상단에 @echo off가 있을 것이다. 각 줄이 어떤 일을 하는지 보고 싶다면 이 줄을 지우고 실행해 보면 된다.

 

사실 이러한 명령어들은 모두 도스 모드에서 사용 가능한 명령어들이다.

dir/w 는 디렉터리 정보를 보는 명령어이고, 

pause는 잠시 멈추는 명령어이다.

 

원래 폴더에 있는 파일을 더블클릭해서 실행하면, 내용을 실행 후 창이 닫히게 된다. pause 줄일 지우고 실행해 보면 뭔가 나타났다가 순식간에 사라지는 것을 볼 수 있을 것이다.

pause 명령어는 현재 상태를 눈으로 확인하고 싶어서 넣은 것이다.

 

이렇게 보면 대략 간략해 보일 수 있지만 배치파일은 생각보다 강력한 기능을 수행한다.

더 복잡하게 다른 배치파일이나 프로그램을 호출할 수도 있고 윈도우 명령어를 실행하게 할 수도 있다.

 

생각해보라. 만약 여러분이 여러분의 컴퓨터를 강제로 포맷하는 명령어를 배치파일로 만들어서 친구에게 전달했다고 생각해 보자. 친구가 그 파일을 클릭한 순간 대재앙이 일어날 수도 있다.

 

* 그 외 명령어 간단 소개

그 외에 간략히 많이 쓰이는 명령어를 몇 가지만 알아보자.

echo off / on 작성한 명령어를 보이거나 보이지 않게 한다.
REM
( 또는 :: )
주석을 달때 쓰인다. 앳사인(@)과 함께 사용되기도 한다. 콜론2개 "::" 도 같은 기능을 한다.
SET 변수를 정의할때 사용된다.   SET abc=C:\Program\Data   라고 썼다면 abc라는 변수에 C:\Program\Data라는 정보를 저장한 것이다.
CALL 다른 배치파일을 호출할때 사용된다.
그외 IF, DEL, EXIT, GOTO 등 다양한 명령어 들이 있다.

 

배치파일의 쓰임을 간략히 알았다. 배치파일도 여러 가지 문법이 있으므로 차근차근 공부해 보자.

반응형

댓글