2013-10-11 107 views

回答

1

這是一個非常簡單的一個 - 如果任何其它字符不是數字或句點存在,那麼它會回送另一個去:

@ECHO OFF 
:loop 
set "UserInput=" 
SET /P "UserInput=Please Enter Version as X.X.X.X: " 
for /f "delims=0987654321." %%a in ("%UserInput%") do echo Try again & goto :loop 
1

這個答案檢查4個數字字段斑點分隔。

:Prompt 
SET /P "UserInput=Please Enter Version as X.X.X.X: " 
FOR /F "TOKENS=1-4 DELIMS=." %%i IN ("%UserInput%") DO (
    SET /A n1=1*%%i 
    SET /A n2=1*%%j 
    SET /A n3=1*%%k 
    SET /A n4=1*%%l 
) 
IF NOT "%UserInput%" == "%n1%.%n2%.%n3%.%n4%" GOTO :Prompt 
ECHO %UserInput% 

也可以添加對負數的驗證。

+0

謝謝你這個魅力! :) –