배치 스크립트 - 개요

안녕하세요, 미래의 프로그래머 여러분! 오늘 우리는 배치 스크립팅의 세계로 뛰어들어 보겠습니다. 여러분의 친절한 이웃 컴퓨터 선생님이자 저는 이 여정을 안내해 드리게 되어 설레습니다. 기존에 프로그래밍을 해 본 적이 없으신 분들도 걱정 마세요 - 우리는 기초부터 차근차근 진행하겠습니다. 그러니 커피 한 잔 (또는 저처럼 핫 초콜릿 한 잔)을 손에 들고, 시작해 보세요!

Batch Script - Overview

배치 스크립트는 무엇인가요?

배치 스크립트는 컴퓨터에 대한 지시 목록과 같습니다. 로봇 셰프에게 요리법을 쓰는 것을 상상해 보세요 - 이게 바로 여기서 하는 일입니다. 하지만 이 요리법은 컴퓨터용입니다! 이러한 스크립트는 일반적으로 .bat 또는 .cmd 확장자로 저장되며, Windows 운영 체제에서 실행할 수 있습니다.

배치 스크립팅을 배우는 이유는 무엇인가요?

여러분은 perhaps thinking, "배치 스크립트를 배우는 데 왜 힘쓰죠? 더 멋진 프로그래밍 언어들이 많이 있잖아요?" 그렇습니다. 하지만 배치 스크립트는 Windows에서 반복 작업을 자동화하는 데 아주 유용합니다. 게다가, 프로그래밍의 세계에 발을 들여놓는 좋은 방법입니다!

시작하기

첫 배치 스크립트

우리는 전통적인 "Hello, World!" 프로그램으로 시작해 보겠습니다. Notepad를 열고 다음과 같이 입력하세요:

@echo off
echo Hello, World!
pause

이 파일을 hello.bat으로 저장하고 더블 클릭하여 실행하면, 화면에 "Hello, World!"가 표시될 것입니다.

이를 해부해 보면:

  • @echo off: 이는 컴퓨터에게 명령어를 실행할 때 표시하지 않도록 합니다.
  • echo Hello, World!: 이는 메시지를 출력합니다.
  • pause: 이는 창을 열어 두어 결과를 볼 수 있도록 합니다.

축하합니다! 여러분은 첫 배치 스크립트를 작성했습니다!

기본 명령어

이제 우리는 발을 뜨고, 몇 가지 기본 명령어를 살펴보겠습니다:

명령어 설명
echo 메시지 표시
rem 주석 추가 (사람들에게는 유용하지만 컴퓨터는 무시)
pause 키 입력을 기다림
cls 화면 지우기
exit 배치 스크립트 종료

예제: 기본 명령어 사용

@echo off
rem This is a comment
echo Welcome to Batch Scripting!
echo.
echo Press any key to clear the screen...
pause > nul
cls
echo The screen has been cleared.
echo Press any key to exit...
pause > nul
exit

이 스크립트에서:

  • 우리는 rem을 사용하여 주석을 추가합니다.
  • echo.는 빈 줄을 출력합니다.
  • pause > nul은 키 입력을 기다리지만 메시지를 표시하지 않습니다.
  • cls는 화면을 지웁니다.

변수

변수는 정보를 저장하는 컨테이너입니다. 배치에서는 set을 사용하여 변수를 만듭니다:

@echo off
set name=Alice
echo Hello, %name%!
pause

여기서 우리는 name이라는 변수를 만들고 "Alice"라는 값을 할당한 후, %name%을 사용하여 그 값을 표시합니다.

사용자 입력

사용자로부터 입력을 받을 수도 있습니다:

@echo off
set /p name=What's your name?
echo Nice to meet you, %name%!
pause

/p 플래그는 컴퓨터가 사용자 입력을 기다리게 합니다.

조건부 문장

조건부 문장은 스크립트가 결정을 내릴 수 있게 합니다. if 문을 보겠습니다:

@echo off
set /p age=How old are you?
if %age% geq 18 (
echo You're an adult!
) else (
echo You're still a youngster!
)
pause

여기서 geq은 "초과하거나 동일"을 의미합니다. 만약 연령이 18이나 그 이상이라면 하나의 메시지를 출력하고, 그렇지 않으면 다른 메시지를 출력합니다.

반복문

반복문은 동작을 반복할 수 있게 합니다. 간단한 for 반복문을 보겠습니다:

@echo off
for %%i in (1,2,3,4,5) do (
echo Number: %%i
)
pause

이 스크립트는 1에서 5까지의 숫자를 세줍니다. 주의할 점은 배치 파일에서는 이중 %%를 사용해야 한다는 점입니다 (명령 프롬프트에서는 단일 %를 사용합니다).

모든 것을 합쳐서

이제 우리는 배운 것을 모아 간단한 추측 게임을 만들어 보겠습니다:

@echo off
set /a secret=(%RANDOM% %% 10) + 1
set attempts=0

:guess
set /a attempts+=1
set /p user_guess=Guess a number between 1 and 10:

if %user_guess% equ %secret% (
echo Congratulations! You guessed it in %attempts% attempts!
) else if %user_guess% lss %secret% (
echo Too low! Try again.
goto guess
) else (
echo Too high! Try again.
goto guess
)

pause

이 스크립트는:

  • 1에서 10 사이의 임의의 숫자를 생성합니다.
  • 사용자에게 숫자를 추측하게 합니다.
  • 피드백을 주고 시도 횟수를 추적합니다.
  • 반복문을 사용하여 여러 번 추측할 수 있게 합니다.

결론

와우, 얼마나 멀리 왔는지 보세요! 단순한 메시지 출력에서 전체 게임을 만드는 것까지. 배치 스크립팅(또는 어떤 프로그래밍)을 마스터하려면 중요한 것은 연습입니다. 이 스크립트를 수정해 보세요, 다른 개념을 결합해 보세요, 그리고 가장 중요한 것은 즐기세요!

제가 기억하는 옛날 컴퓨터 과학 교수님이 이렇게 말씀하셨습니다: "프로그래밍은 자전거 타는 것과 같아요.처음에는 자주 넘어질 수 있지만, 한 번 익어버리면 그 무엇 없이도 잘 살 수 있을 것 같은 기분이 들어요."

계속 코딩해 주세요, 호기심을 유지해 주세요, 그리고 작업을 저장해 두세요!

Credits: Image by storyset