배치 파일에서 숫자 판단하기
게시일: 2006/02/27 | 글쓴이: doa | 7379 번 | 프린트 | 메일


요즘은 자주 사용되지 않지만 한때에는 배치 파일을 알아야지만 컴퓨터를 할 수 있던 시절이 있었다. 바로 DOS 시절이다. 배치 파일을 알아야 컴퓨터를 원할하게 작업할 수 있기때문에 배치 파일에 대한 관심도 높았고, PC 통신에는 배치 파일에 관한 팁도 많았다.

요즘은 컴퓨팅 환경이 GUI로 선회하면서 배치 파일에대한 중요성도 감소했기때문에 배치 파일에 관심을 갖는 사용자는 많지 않다. 그러나 배치 파일의 경우 간단하게 작성할 수 있으며, 잘만 활용하는 경우 직접 프로그램을 작성하는 이상의 효과가 있기때문에 사용하려고 시도하는 사용자가 꽤있는 편이다.

배치 파일에서 사용자 입력 받아들이기라는 팁을 통해 사용자 입력을 받는 방법을 설명했으므로 이번에는 사용자가 입력한 데이타가 숫자인지 문자인지 판별하는 방법을 설명하겠다. 사실 눈치가 빠른 사용자의 경우 이 팁이 배치파일에서 날짜 계산하기를 그대로 차용한 팁이라는 것을 쉽게 알 수 있을 것이다.

@echo off
chcp 949
set /p DD=숫자 입력: 
set /a XX=%DD%-1
if {%XX%} == {-1} goto Char
goto Number

:Char echo %DD%는 문자 입니다.(%XX%) goto End

:Number echo %DD%는 숫자 입니다.(%XX%)

:End



set /p DD=Enter Number:
사용자의 입력을 받는 부분이다. 보다 자세한 사항은 배치 파일에서 사용자 입력 받아들이기를 참조하기 바란다.

set /a XX=%DD%-1
if {%XX%} == {-1} goto Char
goto Number
숫자인지 문자인지를 판단해서 문자인 경우 Char로 숫자인 경우 Number로 분기하는 부분이다. 원리는 간단하다. 입력된 값이 문자인 경우 %XX%는 -1의 값을 갖는다. 그 이유는 /a에의한 연산은 사칙 연산이므로 %DD%가 숫자가 아니라면 0의 값을 갖기 때문이다. 따라서 결과값이 -1인 경우 Char로 분기하며, 숫자인 경우에는 Number로 분기하면된다.

:Char 이하
나머지는 숫자와 문자로 분기하는 것을 확인하기 위한 부분이다.

댓글: 이 팁은 gureum62님의 질문, 배치파일(CMD) 작성 질문에대한 답으로 작성되었습니다.


잘못된 팁이나 XP에서는 동작하지 않는 팁들 이번 팁에서 QAOS.com에 올라운 팁 중에 ... (7136) 2006-02-27
무료로 사용할 수 있는 오피스, OpenOffice v2.0 공짜로 사용할 수 있는 프로그램이 상... (5961)2006-02-27

QAOS.com에 게시된지 1년 이상된 자료와 관리자가 공개한 자료는 누구나 제한없이 읽을 수 있습니다.
그러나 QAOS.com의 자료를 퍼가는 것은 금지하고 있습니다.

이 정보가 유용하다고 생각되시면 QAOS.com과 많은 다른 사람들을 위해 퍼가기 보다는 링크로 알려주시기 바랍니다.

세상사는 이야기

  • 찾아라! 아이폰 순정용 >
  • 만원대 피젯 스피너를 >
  • 망하는 길을 택한 쿠팡 >
  • 물놀이에 적당한 가성 >
  • 컴퓨터를 IPTV로 2, po >
  • 컴퓨터를 IPTV로 만들 >
  • Warning.or.kr도 우회 >
  • 한국의 100대 부자, 어 >
  • 세상을 바꾼 크롬: 크 >
  • 장난(?)으로 시작한 여 >


  • RSS 구독 (익명 | 회원 | 강좌 | 포럼)
    (C) 1996 ~ 2017 QAOS.com All rights reserved.