배치파일은 무엇이고 어떤 언어로 만들어지는지 사용방법 알아보기

배치파일 이란?

배치파일(Batch File)은  Windows 운영체제에서 일련의 명령어를 자동으로 실행하기 위해 사용하는 스크립트 파일입니다.

주로 MS-DOS 명령어Windows 명령어로 작성되며 파일 확장자는 .bat 또는 .cmd 입니다.

배치 파일에서 사용하는 명령어

① echo : 텍스트를 화면에 출력하거나 명령어의 실행 여부를 제어함

ex) echo Hello, World!

② cd : 디렉토리를 변경합니다.

ex) cd C:\Program Files

③ dir : 현재 디렉토리파일 및 폴더 목록을 표시합니다.

ex) dir

④ copy : 파일을 복사합니다.

ex) copy source.txt destination.txt

⑤ del : 파일을 삭제합니다.

ex) del file.txt

⑥ set : 환경 변수를 설정하거나 표시합니다.

ex) set PATH=C:\NewPath

⑦ if : 조건문을 사용하여 특정 조건이 참 일때만 명령어 실행합니다.

ex) if exist file.txt echo File exists

⑧ for : 반복문을 사용하여 파일 목록이나 다른 데이터를 순회합니다.

ex) for %%f in (*.txt) do echo %%f

⑨ pause : 스크립트의 실행을 일시 중지하고, 사용자가 키를 누를 때까지 대기합니다.

ex) pause

⑩ goto : 스크립트의 실행을 특정 라벨이동시킵니다.

ex) goto : labelname

배치파일 예시

@echo off
echo Hello, World!
pause

해당 배치파일Hello, World!를 출력하고 사용자가 키를 누를 때까지 대기하는 기능 입니다.

배치파일 에러 처리 방법

① ERRORLEVEL 변수 사용

ERRORLEVEL은 이전 명령어의 실행 결과를 나타내는 값이며 ERRORLEVEL 0이면 성공 0이 아니면 오류 발생한 것 입니다.

somecommand.exe
if ERRORLEVEL 1 (
    echo Command failed with error level %ERRORLEVEL%.
) else (
    echo Command succeeded.
)

② | | 연산자 사용

명령어 실패 시 특정 작업을 수행하도록 설정할 수 있습니다.

somecommand.exe || echo Command failed!

③ try-catch와 비슷한 구조

배치 파일에는 try-catch 구문이 없지만 gotolabel을 사용하여 에러 처리 흐름을 제어할 수 있습니다.

@echo off
somecommand.exe
if ERRORLEVEL 1 goto error

echo Command succeeded.
goto end

:error
echo An error occurred.

:end

해당 코드에는 somecommand.exe가 실행하면  error 라벨로 이동하여 에러 메세지를 출력하고

성공하면 end 라벨로 이동합니다.

배치파일과 파워쉘 스크립트의 차이점

① 언어구조

  • 배치파일 : MS-DOS 명령어 기반의 단순한 명령어 집합 사용하며 주로 텍스트 파일내의 일련의 명령어들을 순차적으로 실행
  • 파워쉘 : .NET Framework를 기반으로 명령어뿐만 아니라 변수 객체 지향 프로그래밍, 모듈화 등을 지원함

② 기능성

  • 배치파일 : 기본적 파일 조작시스템 명령어 실행에 적합하며 제한적인 제어 구조를 가지고있음
  • 파워쉘 : 복잡한 작업 자동화, 시스템관리, 클라우드 서비스 관리, API 호출 등 매우 다양한 기능 수행할 수 있음

③ 확장자

  • 배치파일 : .bat , .cmd
  • 파워쉘 : .ps1

④ 호환성

  • 배치파일 : 오래된 MS-DOS 기반의 시스템에서도 동작 가능
  • 파워쉘 : Windows 7 이후의 Windows 운영체제에서 기본 제공되며 더 최신 기술과 연동 가능

 

Leave a Comment