컴퓨터 엑셀 워드 포토샵 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Wednesday, November 08, 2006

배치파일] 사용자 문자열 입력받기, 입력을 변수에 저장: DOS-NT Batch File Input String


배치 파일 안에서, 사용자로부터 어떤 문자열을 입력받아야 할 때에는

set /p <변수명>=

이라는 명령어를 사용하면 됩니다. 단, 윈도우2000/XP이상에서만 되고, 윈도우98에서는 되지 않습니다.


키보드로부터 문자열 입력 받기 예제


파일명: 0.bat
@echo off
setlocal

set /p str=아무 문자열이나 입력하세요:

echo 방금 입력하신 문자열은 %str% 입니다.


사용자가 키보드로 입력한 문자열이 str 이라는 변수에 저장됩니다. 변수에서 값을 꺼낼 때에는 %str% 이렇게 퍼센트 기호를 앞뒤로 붙입니다.

set /p str=
이렇게 하면 아무 문자열이나 입력하세요: 라는 문자열이 나타나지 않습니다.



실행 결과:
D:\Z>0.bat
아무 문자열이나 입력하세요:ABC
방금 입력하신 문자열은 ABC 입니다.


ABC 라는 문자열을 입력한 결과입니다.







이것은 좀더 실용적인 예제입니다. 사용자가 문자열을 입력하지 않고 그냥 엔터키만 누를 경우, 다시 입력받도록 합니다.

@echo off
setlocal

:: str 변수 초기화
set str=


:REDO
set /p str=문자열 입력하세요:
if "%str%" == "" goto REDO


echo 방금 입력하신 문자열은 %str% 입니다.


str 이라는 변수에 혹시 어떤 값이 이미 들어 있을 경우에는 문제가 생기므로 "set str=" 이렇게 변수를 초기화했습니다. 실은 초기화라기보다는 str 이라는 변수를 삭제한 것입니다.





간단히 Y/N 만 묻는 방법은 여기에 있습니다: ▶▶ 배치파일] Yes / No 선택 묻기, 도스의 CHOICE 명령 대용, 사용자 입력 받기 - DOS-Windows Batch File




그리고 배치파일 안에서 문자열을 직접 입력받는 것보다, "실행시 옵션"으로서 문자열을 입력받는 것이 훨씬 더 편리합니다. 여기에 방법이 있습니다: ▶▶ 배치파일] 옵션 문자열 얻기, 실행시 매개변수 활용 DOS-NT Batch File Option




▶▶ 배치파일 종료시 변수 자동으로 지우기, 변수 충돌 방지, 변수 지역화: SETLOCAL / ENDLOCAL

▶▶ 도스(DOS)/윈도우의, 배치 파일에서 echo off 란?




tag: batch
배치파일 | DOS CMD BATCH .BAT | VBScript .VBS

1 Comments:
At July 11, 2013 at 5:08 PM, Blogger 최석원 said...

감사합니다. 큰 도움이 되었습니다.

 

Post a Comment

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Previous Posts
Monthly Archives
Top