배치 파일은 특별한 개발 지식 없이도 윈도우 환경에서 반복 작업을 자동화할 수 있는 강력한 도구로 윈도우 배치 파일에 대해 쉽게 설명드립니다.
1. 배치 파일이란?
배치 파일
배치 파일(Batch File)은 확장자가 '.bat' 또는 '.cmd' 인 텍스트 파일입니다. 윈도우 명령 프롬프트(cmd.exe)가 파일 안의 명령어를 위에서 아래로 순서대로 실행해 줍니다.
쉽게 말해 "내가 키보드로 cmd에 직접 입력할 명령어들을 미리 파일에 적어두고, 필요할 때 한 번에 실행하는 것"입니다.
배치 파일이 유용한 경우
- 백업 자동화 : 매일 특정 시간에 중요 폴더를 다른 경로로 복사
- 개발 환경 세팅 : 여러 서버나 프로그램을 순서대로 한꺼번에 실행
- 파일 정리 : 특정 확장자 파일을 모아 이동하거나 삭제
- 윈도우 시작 시 자동 실행 : 시작 프로그램에 등록해 부팅 시 필요한 앱 일괄 실행
- 반복 명령 자동화 : 여러 파일명을 일괄 변경하거나 로그 파일 정리
2. 기본 구조와 핵심 명령어
기본 골격
@echo offREM 여기에 명령어를 작성합니다.exit
기본 명령어 정리
@echo off - 배치 파일 실행 시 각 명령어가 화면에 그대로 출력되는 것을 막습니다. `@`는 이 줄 자체도 출력하지 않도록 합니다. 거의 모든 배치 파일 첫 줄에 관례적으로 씁니다.echo - 텍스트를 화면에 출력합니다. 진행 상황을 알려주거나 디버깅 시 유용합니다.
start - 지정된 프로그램이나 파일을 별도의 창으로 실행합니다.
- `/d 경로` 프로그램 시작 디렉터리 지정
- `/b` 새 창 없이 백그라운드 실행
- `/wait` 실행한 프로그램이 종료될 때까지 대기
- `/min` 최소화된 상태로 실행
copy - 파일을 복사합니다.
del - 파일을 삭제합니다. `/q` 옵션을 쓰면 확인 없이 바로 삭제합니다.
pause - "계속하려면 아무 키나 누르십시오..." 메시지를 표시하며 대기합니다. 스크립트 실행 결과를 확인할 때 유용합니다.
REM - 주석입니다. 실행되지 않으며 코드 설명을 적을 때 사용합니다.
변수 선언 'set'
@echo offset NAME=Aliceset BACKUP_PATH=D:\Backupecho %NAME%님의 백업 경로: %BACKUP_PATH%
사용자 입력 받기
@echo offset /p USERNAME=이름을 입력하세요:echo 안녕하세요, %USERNAME%님!pause
숫자 연산
set /a RESULT=10+5echo 결과: %RESULT%REM 출력: 15
환경변수 활용
- echo 사용자 홈 폴더: %USERPROFILE%
- echo 시스템 경로: %PATH%
- echo Java 경로: %JAVA_HOME%
- echo 시스템 드라이브: %SystemDrive%
- echo 현재 날짜: %DATE%
- echo 현재 시간: %TIME%
3. 조건문 / 반복문 / 흐름제어
if - 조건문
if exist test.txt (echo 파일이 존재합니다.) else (echo 파일이 없습니다.)
for - 반복문
for %%f in (C:\logs\*.log) do (echo 처리 중: %%fdel "%%f")
GOTO - 레이블로 이동
특정 레이블로 실행 흐름을 이동합니다. 레이블은 `:이름` 형식으로 선언합니다.@echo offgoto START:ERRORecho 오류가 발생했습니다.goto END:STARTecho 작업을 시작합니다.if not exist C:\data goto ERRORecho 데이터 폴더 확인 완료.:ENDecho 종료합니다.exit
CALL - 다른 배치 파일 호출
CALL`로 호출한 배치 파일이 끝나면 다시 원래 파일로 돌아와 다음 명령을 실행합니다. 이를 통해 배치 파일을 모듈처럼 분리해 재사용할 수 있습니다. 같은 파일 내 서브루틴 호출도 가능합니다.
@echo offcall :BACKUP C:\source D:\destcall :BACKUP C:\data D:\data_backupexit /b:BACKUPecho %1 → %2 백업 중...xcopy "%1" "%2" /e /i /yexit /b

0 댓글