배치파일은 윈도우의 도스 모드에서 사용하는 명령어들로 구성되어 있는 스크립트(명령어 집합) 파일이다. 자주 사용하는 도스의 명령어들을 하나씩 사용하기 어려울 때, 명령을 정해서 다른 사람들에게 전달할 때 스크립트 형식으로 파일로 만들어서 한 번에 실행시키는 용도로 사용된다. 확장자는 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가 있을 것이다. 각 줄이 어떤 일을 하는지 보고 싶다면 이 줄을 지우고 실행해 보면 된다.
사실 이러한 명령어들은 모두 도스 모드에서 사용 가능한 명령어들이다.
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 등 다양한 명령어 들이 있다. |
배치파일의 쓰임을 간략히 알았다. 배치파일도 여러 가지 문법이 있으므로 차근차근 공부해 보자.
'IT와 인터넷' 카테고리의 다른 글
ASCII (아스키 코드표) 정리 (0) | 2022.04.08 |
---|---|
갤럭시S22 울트라와 GOS 논란 (0) | 2022.03.12 |
인텔 Hex (Intel-Hex) file format (0) | 2022.03.02 |
윈도우 echo 명령어 사용법 (0) | 2022.02.19 |
윈도우 특수문자 입력하기 - 한자키 입력 이모티콘 모음 [KS X 1001] (0) | 2022.02.14 |
댓글