| 저자 |
배치파일(CMD) 작성 질문 |
Anonymous (0) 비회원
| 게시일: 2006-02-27 13:30| | 제가 고스트 관련 배치파일을 작성해 보려고 하는데 막히는 부분이 있어 질문드립니다.
예)
중간생략....
:_split
set _split=
echo !주의! 지정할 수 있는 최대 크기는 2048 (MB) 입니다.
echo !주의! 단위(MB)는 빼고 숫자만 입력해야 합니다.
echo.
set /p _split=이미지분할크기(MB):
if "%_split%" ???????????? goto _error2
if "%_split%" GTR "2048" goto _error3
pause
ghost32.exe -split=%_split% -auto
goto _end
:_error2
echo 숫자만 입력해야 합니다.
echo 다시 지정하십시오. Enter 키를 누릅니다.
...
:_error3
echo 지정할 수 있는 최대 크기인 2048 (MB)를 초과했습니다.
echo 다시 지정하십시오. Enter 키를 누릅니다.
중간생략....
"%_split% 의 참조건은
1. 2048 보다 커서는 안 된다.
2. 숫자 이외의 어떤 문자도 허용 안된다.
그런데 2 번 조건문을 잘 모르겠습니다.
한 수 지도 바랍니다.
|
Anonymous (0) 비회원
| 게시일: 2006-02-27 14:44| | 님의 질문에대한 답은 배치 파일에서 숫자 판단하기에 올려 두었습니다. |
Anonymous (0) 비회원
| 게시일: 2006-02-28 00:50| | 답변 감사드립니다.
그런데 한가지 이상한 현상이 일어 납니다.
제시해 주신 배치문을 사용해 보았는데,
문자로만 입력할 경우는 XX 에 -1 값이 할당되어 정상적으로 작동되는데,
숫자와 문자를 혼용해 입력할 경우 (예, 790MB)는 숫자로 인식한다는 것입니다.
배치문 어느 부분이 이상이 있는 지 잘 모르겠습니다.
|
Anonymous (0) 비회원
| 게시일: 2006-02-28 08:49| | 제공한 정보만으로는 저도 알 수 있는 방법이 없습니다.
그림에서 알 수 있지만 문자가 섞인 숫자에서도 정상적으로 동작합니다.
[ 메시지수정: artech 일시: 2006-02-28 08:50 ] |
Anonymous (0) 비회원
| 게시일: 2006-02-28 13:26| | 제가 시험용으로 작성한 test.cmd 파일입니다.
@echo off
chcp 949
set DD=
set XX=
set /p DD=숫자 입력:
set /a XX=%DD%-1
if {%XX%} == {-1} goto Char
goto Number
:Char
echo.
echo.
echo %DD%는 문자 입니다.
echo.
echo 할당된 XX 값은 %XX% 입니다.
echo.
goto End
:Number
echo.
echo.
echo %DD%는 숫자 입니다.
echo.
echo 할당된 XX 값은 %XX% 입니다.
echo.
:End
아래는 780MB 값을 입력한 결과입니다.
-1 값을 입력받지 못하고 에러를 나타냅내다.
이상하네요!!!!
|
Anonymous (0) 비회원
| 게시일: 2006-02-28 13:56| | 참고로 숫자와 문자만 입력했을 땐 정상결과를 출력합니다.
1) 780 을 입력한 결과입니다.
2) ABCD 를 입력한 결과입니다.
기존의 배치문에 조건문 한줄을 추가해 보았습니다.
이제 숫자와 문자를 혼용해도 문자로 인식합니다.
무슨 까닭인지 잘 모르겠습니다.
---test2.cmd---
set /p DD=숫자 입력:
set /a XX=%DD%-1
if {%XX%} == {-1} goto Char
if {%XX%} == {} goto Char
goto Number
3) 780MB 을 입력한 결과입니다.
이상은 전부 winXP XP2 의 콘솔창에서 실행한 결과입니다.
|
Anonymous (0) 비회원
| 게시일: 2006-02-28 15:12| | 확인했습니다. 저도 동일한 오류가 발생하더군요. 확인해 보니 하드 디스크의 배치 파일이 잘못된 배치 파일이었습니다(무조건 문자로 출력하는 배치 파일입니다).
루틴을 새로 만들어 올려 두도록 하겠습니다. |
|
|
|
|