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

 
Previous Post 윈도우2000-윈도우XP 에서, 도스(DOS) 실행 방법INI (.ini); INF (.inf) 파일; CFG (.cfg) 확장자 파일의 용도Java/자바] 숫자 쉼표(콤마) 찍기, 3자리(천단위)마다 Comma 넣기; Commif...Java/자바] 도스창(콘솔) 화면 지우기, 텍스트 화면 지우는 법; Clear Scree...비베-VBS-VBA] 문자열 합치기; 여러개의 문자열 하나로 연결/병합; Merge Str...포토샵] 사진 선명하게 만드는 샤픈/샤펀 필터 사용법: Photoshop Sharpen F...포토샵 사진 합성] 피사체 추출; 윤곽선 따내기/오려내기; Photoshop Extract...DOS/도스창/배치파일] 파일 복사 명령어 사용법: File Copy Command도스 도스창] 텍스트 파일 읽기 명령어, 보기 명령; DOS Text File View C...Java: 무한각형(무한히 많은 각이 있는 다각형) 내각 각도 계산; Infinite Po...

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

Wednesday, November 08, 2006

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

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 란?

☞ BATCH(.BAT)/VBScript(.VBS)

1 Comments:
At 5:08 PM, Blogger 브라운9씨 said...

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

 

Post a Comment

<< Home RSS 2.0 feed

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