배치 스크립트 튜토리얼: 윈도우 자동화의 관문

안녕하세요, 야심 찬 프로그래머! 배치 스크립팅의 흥미로운 여정에 당신을 안내하게 되어 기쁩니다. 컴퓨터 과학을 10년 이상 가르쳐온 저로서는 배치 스크립팅이 단순히 유용하기뿐만 아니라 프로그래밍의 세계에 발을 들여놓는 훌륭한 방법임을 확신할 수 있습니다. 그럼, 시작해 보겠습니다!

Batch Script - Home

배치 스크립팅이란?

배치 스크립팅은 컴퓨터에게 할 일 목록을 주는 것과 같습니다. 윈도우 운영 체제에서 간단한 텍스트 파일을 사용하여 작업을 자동화하는 방법입니다. 이 파일들은 보통 .bat 또는 .cmd 확장자를 가지며, 파일 복사, 폴더 생성, 프로그램 실행 등 다양한 작업을 수행할 수 있습니다.

이를 통해 컴퓨터가 따라야 할 레시피를 작성하는 것을 상상해 보세요. 케이크를 만드는 단계를 적는 것처럼, 컴퓨터가 작업을 수행할 단계를 작성하는 것입니다.

배치 스크립팅을 배우는 이유

  1. 자동화: 20개의 폴더를 클릭하여 특정 파일 유형을 찾아 제거하는 대신, 단일 클릭으로 이를 수행할 수 있습니다. 이것이 배치의 힘입니다!
  2. 특별한 소프트웨어 필요 없음: 노트패드와 윈도우 명령 프롬프트만 있으면 됩니다.
  3. 프로그래밍의 관문: 더 복잡한 프로그래밍 언어로의 이동을 위한 좋은 출발점입니다.

시작하기

환경 설정

  1. 노트패드를 엽니다 (Win + R 키를 눌러 "notepad"를 입력하고 Enter 키를 누릅니다)
  2. 파일을 .bat 확장자로 저장합니다 (예: "myfirstscript.bat")

이제 첫 번째 배치 스크립트를 작성할 준비가 되었습니다.

첫 번째 배치 스크립트

"Hello, World!" 프로그램으로 시작해 보겠습니다. 다음은 코드입니다:

@echo off
echo Hello, World!
pause

이를 .bat 파일에 저장하고 더블 클릭하여 실행합니다. 화면에 "Hello, World!"가 출력되는 것을 확인해야 합니다.

이를 해부해 보겠습니다:

  • @echo off: 이 줄은 명령 에코를 끕니다. 그렇지 않으면 각 명령이 출력되기 전에 출력됩니다.
  • echo Hello, World!: 이 줄은 인사말을 출력합니다.
  • pause: 이 줄은 창을 열어 두어 출력을 볼 수 있게 합니다.

기본 명령

이제 발을 젖히고, 몇 가지 기본 명령을 탐색해 보겠습니다.

디렉토리 이동

@echo off
cd C:\Users
dir
pause

이 스크립트는 다음을 수행합니다:

  1. 디렉토리를 C:\Users로 변경합니다
  2. 해당 디렉토리의 내용을 나열합니다
  3. 사용자 입력을 기다리며 닫히지 않습니다

디렉토리 생성 및 삭제

@echo off
mkdir TestFolder
echo Folder created!
rmdir TestFolder
echo Folder deleted!
pause

이 스크립트는 폴더를 생성하고 즉시 삭제합니다. 모래성을 만들고 그것을 부수는 것처럼, 재미있죠?

파일 복사

@echo off
copy C:\source\file.txt D:\destination\
echo File copied successfully!
pause

이 스크립트는 파일을 하나의 위치에서 다른 위치로 복사합니다. 파일의 텔레포트와 같은 것입니다!

배치 변수

변수는 정보를 담는 컨테이너입니다. 그 작동 방식을 보겠습니다:

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

여기서는 "Alice"를 "name"이라는 변수에 저장하고 그것을 인사말에 사용합니다.

사용자 입력

스크립트를 상호작용적으로 만들어 보겠습니다:

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

이 스크립트는 사용자의 이름을 묻고 개인적으로 인사합니다. 컴퓨터를 예의바르게 만드는 것 같죠?

조건문

조건문은 스크립트의 결정 도구입니다. 예를 들어:

@echo off
set /p age=How old are you?
if %age% geq 18 (
echo You can vote!
) else (
echo Sorry, you're too young to vote.
)
pause

이 스크립트는 사용자가 만 18세 이상인지 확인합니다. 컴퓨터를 책임감 있게 만드는 것 같죠?

루프

루프는 작업을 반복할 수 있게 합니다. 간단한 카운트다운 스크립트를 예로 들어보겠습니다:

@echo off
for /l %%x in (5,-1,1) do (
echo %%x
timeout /t 1 >nul
)
echo Blast off!
pause

이 스크립트는 5에서 1까지 카운트다운을 하며, 각 숫자 사이에 1초를 기다립니다. 컴퓨터가 로켓 발사 카운트다운을 하는 것 같죠?

모든 것을 합쳐서

이제 배운 것을 모아 더 복잡한 스크립트를 만들어 보겠습니다:

@echo off
:menu
cls
echo Welcome to the File Manager
echo 1. List files
echo 2. Create a folder
echo 3. Delete a folder
echo 4. Exit
set /p choice=Enter your choice:

if %choice%==1 goto listfiles
if %choice%==2 goto createfolder
if %choice%==3 goto deletefolder
if %choice%==4 goto exit

:listfiles
dir
pause
goto menu

:createfolder
set /p foldername=Enter folder name:
mkdir %foldername%
echo Folder created!
pause
goto menu

:deletefolder
set /p foldername=Enter folder name to delete:
rmdir %foldername%
echo Folder deleted!
pause
goto menu

:exit
echo Thank you for using File Manager!
pause

이 스크립트는 간단한 메뉴 드라이브 파일 관리자를 만듭니다. 컴퓨터의 미니 운영 체제를 놀리는 것처럼 느껴질 것입니다!

결론

축하합니다! 배치 스크립팅의 첫 걸음을 냈습니다. 연습이 완벽을 이루는 것을 잊지 마세요. 이 스크립트를 수정해 보세요, 다른 요소를 결합해 보세요, 그리고 무엇을 만들 수 있을지 보세요.

여러분이 계속 여정을 이어갈수록, 배치 스크립팅은 단순히 컴퓨터에게 명령을 주는 것을 넘어, 컴퓨터를 더 지능적이고 효율적이고, 조금 더 재미있게 만드는 것을 배우게 될 것입니다.

행복한 스크립팅을 기원하며, 여러분의 배치가 항상 여러분의 편이 되길 바랍니다!

Credits: Image by storyset