NOTE

배치파일 강좌 2강, "메뉴"와 "창 비우기" 본문

프로그램/배치파일 강좌

배치파일 강좌 2강, "메뉴"와 "창 비우기"

H0urglass 2018. 4. 18. 23:18
728x90

안녕하세요 :P

이번엔 앞 강좌에서 말했듯, "메뉴"의 개념과 "메뉴"의 이동에 대해 알아볼 것입니다.


방법은 일단 매우 간단합니다. 예제로 일단 살펴보도록 하겠습니다.


#menu.bat


@echo off

:a

echo 아무 키나 눌러 메뉴 B로 이동합니다.

pause

goto b


:b

echo 메뉴 b입니다.

pause






뭔가 보이시나요? 


여기서 메뉴란 a와 b를 가르키며, 당연히 두 메뉴는 완전히 분리되어 있습니다. 

메뉴의 분리는 :메뉴이름 으로 할 수 있습니다.

어떤 메뉴로 이동할 땐 goto <메뉴 이름>을 이용하며, 대소문자를 구분합니다.


자, 아까 위 코드를 실행시켜보면

이렇게 됩니다.

다만 프로그램을 만들땐, 메뉴 간 이동 시 앞 메뉴의 내용을 지워서 만들어야 할 때가 있습니다. 이 경우엔 이렇게 하면 됩니다.


#menu2.bat


@echo off

:a

echo 아무 키나 눌러 메뉴 B로 이동합니다.

pause

goto b


:b

cls

echo 메뉴 b입니다.

pause


자, 여기서 cls의 역할은 창을 비워주는 역할을 합니다. 그러므로

메뉴 A에서 아무 키나 누르면 메뉴 B로 이동하나, 메뉴 B로 넘어가는 즉시 창을 비우고 아래 메뉴 b입니다 라는 메시지를 화면에 표기한다

로 정리 할 수 있습니다. 이것 또한 사진으로 보시죠.



이렇게, 메뉴 B의 메시지만 표기되는 것을 보실 수 있습니다. 이 메뉴라는 것은 매우 기초적이고 쉬운 개념이지만, 대부분의 프로그램에 있어서 필요한 과정이기도 합니다. 특히 루프 프로그램을 만들때, 메뉴를 이용하여 쓸 수 있습니다. 아래 예제를 보시죠.


#loop.bat


@echo off

:main

echo 가즈아ㅏㅏ

pause

goto loop


:loop

goto lol


:lol

start

goto loop


프로그램 시작 시, 가즈아ㅏㅏ라는 메시지를 출력 후, 아무 키나 누를 시 loop 메뉴로 갑니다. loop 메뉴로 가는 즉시 lol 메뉴로 가게 되고, lol 메뉴에서는 cmd 창 하나를 엽니다. 그리고 곧바로 loop 메뉴로 이동합니다.


결론적으로, cmd 창 무한 생성이라고 할 수 있습니다. 그러니 저 코드를 그대로 복붙하여 실행하진 마세요 :P


일단 메뉴와 cls 명령어의 기초에 대해 알아보았으며, 이 내용들은 나중에 한번 더 다뤄보겠습니다.

다음 강좌는 "변수" 에 대해 알아보도록 하겠습니다. :)

728x90
0 Comments
댓글쓰기 폼