DOS Batch 파일이란?
여러대의 PC를 동일한 환경으로 설정하거나, 반복된 작업을 수행해야할때. 우리는 고민에 빠집니다.
오늘 소개할 DOS Batch 파일은 Windows 운영 체제에서 일련의 명령어를 자동으로 실행할 수 있게 해주는 .bat 확장자를 가진 일종의 명령어 스크립트 파일입니다. 복잡한 작업을 자동화하는 데 매우 유용하여, DOS 명령어에 이어 다루어 볼까 합니다.
Notepad로 저장할때 bat 파일의 확장자로 저장하면 되며, 간단하게 아래와 같이 작성해서 만들어서 구동해 볼 수 있습니다.
기본 Batch 명령어
CMD 배치 파일에서 자주 사용되는 고급 명령어는 다음과 같습니다.
GOTO 명령어
특정 레이블로 실행 흐름을 이동시킵니다.
:label
echo This is a label
GOTO label
IF 조건문
조건에 따라 명령을 실행합니다.
IF "%1"=="param1" (
ECHO First parameter is "%1"
) ELSE (
ECHO First parameter is not "param1"
)
FOR 루프
파일이나 문자열을 반복 처리합니다.
FOR %%I IN (*.txt) DO echo %%I
SET 변수 설정
변수를 설정하고 사용합니다.
SET myvar=Hello
ECHO %myvar%
CALL 명령어
다른 배치 파일을 호출합니다.
CALL other_script.bat
SHIFT 명령어
명령줄 인수(%1, %2, %3, ...)를 한 단계씩 왼쪽으로 이동시키는 역할을 합니다. 이 명령어를 사용하면 여러 명령줄 인수를 처리할 때 편리하게 사용할 수 있습니다.
@echo off
:loop
if "%1"=="" goto end
echo 현재 인수: %1
SHIFT
goto loop
:end
echo 모든 인수를 처리했습니다.
C:\>example.bat 첫번째 두번째 세번째
현재 인수: 첫번째
현재 인수: 두번째
현재 인수: 세번째
모든 인수를 처리했습니다.
ERRORLEVEL 확인
이전 명령의 종료 코드를 확인합니다.
IF ERRORLEVEL 1 ECHO An error occurred
파일 존재 여부 확인
IF EXIST filename.txt (
ECHO File exists
) ELSE (
ECHO File does not exist
)
메뉴 만드는 방법
1. 메뉴 구조 설계
먼저 메인 메뉴와 하위 메뉴 항목들을 설계합니다. 예를 들어:
@echo off
:menu
cls
echo 1. 옵션 1
echo 2. 옵션 2
echo 3. 종료
set /p choice=선택하세요:
2. 사용자 입력 처리
사용자의 선택에 따라 분기 처리를 합니다:
if "%choice%"=="1" goto option1
if "%choice%"=="2" goto option2
if "%choice%"=="3" goto end
goto menu
3. 각 옵션에 대한 처리
선택된 옵션에 대한 작업을 수행하고 메인 메뉴로 돌아갑니다:
:option1
echo 옵션 1을 선택하셨습니다.
pause
goto menu
:option2
echo 옵션 2를 선택하셨습니다.
pause
goto menu
:end
echo 프로그램을 종료합니다.
exit
4. 서브메뉴 구현
필요한 경우 서브메뉴를 추가로 구현할 수 있습니다:
:submenu
cls
echo 1. 서브 옵션 1
echo 2. 서브 옵션 2
echo 3. 메인 메뉴로 돌아가기
set /p subchoice=선택하세요:
if "%subchoice%"=="1" goto suboption1
if "%subchoice%"=="2" goto suboption2
if "%subchoice%"=="3" goto menu
goto submenu
Batch 파일 예제
간단한 인사 프로그램
@echo off
echo 안녕하세요! 당신의 이름은 무엇인가요?
set /p name=
echo 반갑습니다, %name%님!
pause
파일 백업 스크립트
@echo off
xcopy C:\중요문서 D:\백업\중요문서 /D /E /Y /I
echo 백업이 완료되었습니다.
pause
시스템 점검 스크립트
@echo off
chcp 65001 >nul
:menu
cls
echo Windows 장애 점검 메뉴
echo 1. 디스크 점검
echo 2. 메모리 점검
echo 3. 네트워크 점검
echo 4. 종료
set /p choice=선택하세요 (1-4):
if "%choice%"=="1" goto disk
if "%choice%"=="2" goto memory
if "%choice%"=="3" goto network
if "%choice%"=="4" goto end
echo 잘못된 선택입니다. 다시 선택해주세요.
pause
goto menu
:disk
echo 디스크 점검을 시작합니다...
chkdsk C: /f
pause
goto menu
:memory
echo 메모리 점검을 시작합니다...
mdsched.exe
echo 메모리 진단 도구가 실행되었습니다. 재부팅 후 진단이 수행됩니다.
pause
goto menu
:network
echo 네트워크 점검을 시작합니다...
ipconfig /all
ping www.google.com
pause
goto menu
:end
echo 프로그램을 종료합니다.
exit
Batch 파일 활용 팁
- 자동 실행: 작업 스케줄러를 사용하여 Batch 파일을 정기적으로 실행할 수 있습니다.
- 에러 처리: IF ERRORLEVEL 명령을 사용하여 오류를 처리할 수 있습니다.
- 변수 사용: SET 명령을 사용하여 변수를 설정하고 %변수명%으로 사용할 수 있습니다.
DOS Batch 파일은 Windows 환경에서 작업을 자동화하는 강력한 도구입니다. 기본 명령어만 알아도 일상적인 작업을 크게 간소화할 수 있으며, 더 복잡한 스크립트를 작성하여 고급 작업도 수행할 수 있습니다.
아참, 그리고 한글이 깨질때는 인코딩 문제입니다. chcp 65001 >nul 명령을 추가해줘 보세요.
'How to IT > 윈도우 & 오피스' 카테고리의 다른 글
점검 및 복구의 기초, DOS명령어 (0) | 2024.11.21 |
---|---|
윈도우PC가 느려졌을때, 점검 방법 및 유틸리티 소개 (2) | 2024.11.17 |
MS 오피스의 숨겨진 보물: 알트키 단축키 마스터하기 (0) | 2024.09.12 |
MS 오피스 문서에서 쉽게 이미지 파일 추출하기 (0) | 2024.09.10 |
일러스트 설치 없이 Ai파일 확인하는 방법 (0) | 2022.09.20 |