Batch
Batch는 MS-DOS와 Microsoft Windows의 명령 처리기가 실행하는 배치 파일 스크립트 언어를 가리킨다. 일반적으로 .bat 또는 .cmd 파일에 명령어를 한 줄씩 기록하고 COMMAND.COM이나 cmd.exe가 이를 순서대로 해석해 실행한다. 파일 복사·이동, 프로그...
| 분류 | Windows·MS-DOS 명령 스크립트 언어 |
|---|---|
| 다른 명칭 | 배치 파일, batch script |
| 개발·계보 | DOS 명령 처리기 및 Windows CMD |
| 주요 구현 | COMMAND.COM, cmd.exe |
| 기본 파일 확장자 | .bat, .cmd |
| 패러다임 | 명령형 프로그래밍, 명령 스크립팅 |
| 실행 모델 | 명령 처리기에서 순차 해석 |
| 기본 제어 | IF, FOR, GOTO, CALL |
| 데이터 모델 | 환경 변수, 문자열, 종료 코드 |
| 입출력 | 표준 입출력 리다이렉션과 파이프 |
| 대상 운영체제 | MS-DOS, Microsoft Windows |
| 주요 용도 | 시스템 자동화, 설치·빌드 스크립트 |
| 문서 | Microsoft Windows Commands |
Batch는 MS-DOS와 Microsoft Windows의 명령 처리기가 실행하는 배치 파일 스크립트 언어를 가리킨다. 일반적으로 .bat 또는 .cmd 파일에 명령어를 한 줄씩 기록하고 COMMAND.COM이나 cmd.exe가 이를 순서대로 해석해 실행한다. 파일 복사·이동, 프로그램 실행, 환경 설정, 조건에 따른 분기와 여러 명령의 반복을 자동화하는 데 사용되며, 별도의 범용 컴파일러보다 운영체제의 명령 처리 환경에 밀접하게 연결되어 있다.[1]
Batch 문법은 특정 명령 실행을 기본 단위로 삼는다. IF는 조건에 따라 명령을 실행하고 FOR는 파일 또는 값 목록을 순회하며, GOTO는 레이블로 이동하고 CALL은 다른 배치 파일이나 서브루틴을 호출하는 데 사용한다. %VAR% 형태의 환경 변수 확장과 %1 같은 위치 인수는 실행 환경의 값을 스크립트에 전달한다. 파일과 프로세스를 다루는 명령어는 기본 제공 기능과 외부 실행 파일을 함께 사용한다.[2]
Windows의 cmd.exe는 MS-DOS 시절의 배치 언어를 계승하면서 명령 확장, 블록 문법과 지연된 환경 변수 확장 등 추가 기능을 제공했다. 명령은 일반적으로 행 또는 괄호로 묶은 블록 단위로 처리되며, 변수 확장의 시점이 실행 결과에 영향을 줄 수 있다. 종료 코드는 ERRORLEVEL을 비롯한 조건 검사에서 활용되며, 프로그램 실행과 제어 흐름을 연결하는 기본적인 방법을 제공한다.
Batch는 UNIX 계열의 Bash 스크립트와 비슷한 자동화 목적을 갖지만 명령어 문법, 변수 확장, 인용과 실행 모델은 서로 다르다. 또한 Windows PowerShell은 객체 파이프라인과 별도 언어·런타임을 가지므로 같은 배치 언어의 다른 표기라고 볼 수 없다. 운영체제 초기화, 오래된 소프트웨어 설치, 빌드 명령 호출 등 Windows 시스템과 밀접한 작업에서 배치 파일의 호환성은 역사적으로 중요한 역할을 해 왔다.