배치 파일

1 개요

Batch File 配置(배치)[1] 파일이 아니다!

MS-DOS, 윈도우 등에서 명령 프롬프트에 하나씩 입력해야 하는 명령어들을 하나의 파일로 작성한 것이다[2]. 유닉스나 리눅스 등에서는 셸스크립트라고 하는데, 배치파일에 비해서는 할수 있는 작업의 범위가 더 넓다.

확장자로는 주로 .bat, .cmd를 사용한다.

명령 프롬프트에서 배치파일의 이름을 입력하는 것만으로도 실행할 수 있다.

2 활용

Shutdown 등의 명령어를 메모장에 입력하고 확장자를 .bat로 저장한 뒤 아이콘을 인터넷 익스플로러 등으로 바꿔 친구 집 컴퓨터 바탕화면에 둔다는 식의 장난은 이것을 응용한 것이다.

또한, 마인크래프트의 버킷 구동기를 제작할 때 많이 사용된다. 자세한 내용은 마인크래프트/서버 항목 참조.

이것을 활용하여 메트릭스 무한 숫자들을 만들 수 있다.

3 코드 예제

3.1 The Matrix

@echo off
color 0A
start
echo %random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%
goto start

3.2 The Matrix 2

@echo off
setlocal EnableDelayedExpansion

options :: 
set width=100
set interval=300
color 0A
end of options ::

cls
mode %width%, 30
set /a linewidth=%width%-2
title Wake up Neo... The Matrix has you
matrix_line_loop :: infinite loop until when user interrupts 
set s=
for /l %%i in (0,1,%linewidth%) do (
set r=!random!
set /a v=!r! %% 2
set s=!s!!v!
)
echo %s%
for /l %%t in (0,1,%interval%) do echo>nul  :: do nothing during interval

goto matrix_line_loop

3.3 Hello, world!

@echo off
echo Hello, world!
pause>nul

  1. 사람이나 물자 따위를 일정한 자리에 알맞게 나누어 둠.
  2. 물론 MS-DOS는 명령어 기반이므로 따로 명령 프롬프트가 있는 것이 아니다.