배치 스크립트 - 변수

안녕하세요, 미래의 프로그래머 여러분! 오늘 우리는 배치 스크립트 변수의 흥미로운 세상으로 뛰어들어 보겠습니다. 여러분의 친절한 이웃 컴퓨터 교사로서, 저는 이 여정을 단계별로 안내해 드리겠습니다. 프로그래밍을 해 본 적이 없으신 분들도 걱정하지 마세요 - 우리는 매우 기초적인 부분부터 시작하여 차례대로 공부해 나갈 것입니다. 그러니 여러분의 좋아하는 음료를 한 잔 마시고, 시작해 보세요!

Batch Script - Variables

변수는 무엇인가요?

배치 스크립트 변수에 대해 구체적으로 이야기하기 전에, 일반적으로 변수가 무엇인지 이해해 보겠습니다. 변수는 정보를 저장하는 컨테이너로 생각하면 됩니다. 여러분이 좋아하는 장난감을 저장하는 상자를 사용하는 것처럼, 우리는 프로그램에서 데이터를 저장하기 위해 변수를 사용합니다.

명령줄 인수

장난스러운 것부터 시작해 보겠습니다 - 명령줄 인수입니다! 이 것은 우리의 배치 스크립트에 실행할 때 보내는 작은 메시지들입니다.

예제 1: 안녕, 이름!

@echo off
echo Hello, %1!

이것을 greet.bat로 저장하고 다음과 같이 실행하세요: greet.bat John

여기서 무슨 일이 일어나는 걸까요? 우리의 스크립트에서 %1은 제공된 첫 번째 인수로 대체됩니다 (이 경우 "John"). 그래서 스크립트는 "Hello, John!"라고 말할 것입니다.

예제 2: 여러 인수

@echo off
echo First argument: %1
echo Second argument: %2
echo Third argument: %3

이것을 args.bat로 저장하고 다음과 같이 실행하세요: args.bat apple banana cherry

이 스크립트는 다음과 같이 표시합니다:

First argument: apple
Second argument: banana
Third argument: cherry

%n (n은 숫자)은 제공된 순서대로 인수를 나타냅니다.

set 명령

set 명령은 배치 스크립트에서 변수를 생성하는 마법의 지팡이입니다. 그럼 어떻게 작동하는지 보겠습니다!

예제 3: 간단한 변수 생성

@echo off
set message=Hello, World!
echo %message%

이 스크립트를 실행하면 "Hello, World!"가 표시됩니다. set 명령은 message라는 이름의 변수를 생성하고 "Hello, World!" 값을 할당합니다. 그런 다음 %message%를 사용하여 내용을 표시합니다.

예제 4: 사용자 입력

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

set 명령의 /p 플래그는 사용자 입력을 가능하게 합니다. 이 스크립트는 사용자의 이름을 묻고 그들에게 인사합니다.

수치 값을 처리하는 방법

배치 스크립트는 숫자를 처리할 수도 있습니다! 수학적 연산을 탐구해 보겠습니다.

예제 5: 기본 산술

@echo off
set /a result=5+3
echo 5 + 3 = %result%

set /a result=10-4
echo 10 - 4 = %result%

set /a result=6*2
echo 6 * 2 = %result%

set /a result=15/3
echo 15 / 3 = %result%

/a 플래그는 set에게 우리가 산술을 처리하고 있음을 알립니다. 이 스크립트는 덧셈, 뺄셈, 곱셈, 나눗셈을 보여줍니다.

예제 6: 더 복잡한 계산

@echo off
set /a result=(10+5)*2
echo (10 + 5) * 2 = %result%

set /a result=20%%3
echo 20 %% 3 = %result%

여기서 우리는 연산자 우선순위를 위한 괄호를 사용하고 %%를 사용하여 나머지를 구합니다.

로컬 변수와 전역 변수

배치 스크립트에서 변수는 일반적으로 전역적이며, 전체 스크립트에서 접근할 수 있습니다. 그러나 코드 블록 내에서 로컬 변수를 생성할 수 있습니다.

예제 7: 전역 변수와 로컬 변수

@echo off
set global_var=I'm global!

setlocal
set local_var=I'm local!
echo Inside block: %local_var%
echo Global variable: %global_var%
endlocal

echo Outside block: %local_var%
echo Global variable: %global_var%

이 스크립트는 로컬 변수가 블록 내에서만 접근 가능하며, 전역 변수는 어디서나 접근 가능하다는 것을 보여줍니다.

환경 변수를 처리하는 방법

환경 변수는 Windows가 시스템 전체 정보를 저장하기 위해 사용하는 특별한 변수입니다.

예제 8: 환경 변수 표시

@echo off
echo Your username is: %USERNAME%
echo Your home directory is: %USERPROFILE%
echo The current date is: %DATE%
echo The current time is: %TIME%

이 스크립트는 몇 가지 일반적인 환경 변수를 표시합니다. Windows는 이러한 많은 변수를 제공합니다.

예제 9: 사용자 정의 환경 변수 생성

@echo off
setx MY_CUSTOM_VAR "Hello from the environment!"
echo %MY_CUSTOM_VAR%

setx 명령은 영구적인 환경 변수를 생성합니다. 참고로, 변경 사항을 확인하려면 새로운 명령 프롬프트를 열어야 할 수 있습니다.

결론

축하합니다! 여러분은 배치 스크립트 변수의 세상으로 첫 걸음을 내딛었습니다. 연습이 완벽을 이루는 것을 기억하시고, 이 예제들을 실험하고 자신만의 스크립트를 만들어 보세요.

여기서 배운 명령어의 빠른 참조 표입니다:

명령 설명
%n 명령줄 인수 접근
set 변수 생성 또는 수정
set /p 사용자 입력으로 변수 생성
set /a 산술 연산 수행
setlocal 로컬 변수 블록 시작
endlocal 로컬 변수 블록 종료
setx 환경 변수 생성

행복하게 스크립팅하시고, 여러분의 변수가 항상 잘 정의되기를 바랍니다!

Credits: Image by storyset