2013-02-26 54 views
1

我需要把验证,当用户进入他应该进入 只数值的数值,但用户将进入下面的格式认沽验证批处理脚本

Echo Build Number in the Format 5.1.2.44 
set /p Build="enter Build Number Please : " 

值。如果他把在5.1.2.3值,那么他需要,以确定它是 numeric..he可以使用的代替值之间的任何字符?/., .(点)

有效实例是5.1.2.3

无效的示例为5.2.A.3

回答

1

下面是如何验证分隔符之间的每个值都是数字的示例。

@echo off 
set "xResult=valid" 
for /f "tokens=1,2,3,4 delims=?/.," %%A in ("%Build%") do (
    for /f "tokens=1 delims=1234567890" %%n in ("%%A") do set "xResult=invalid" 
    for /f "tokens=1 delims=1234567890" %%n in ("%%B") do set "xResult=invalid" 
    for /f "tokens=1 delims=1234567890" %%n in ("%%C") do set "xResult=invalid" 
    for /f "tokens=1 delims=1234567890" %%n in ("%%D") do set "xResult=invalid" 
) 
echo %xResult% 

这是通过首先由分隔符(?/.,)解析生成串分成四个单独的值(A-D)和检查如果每个这些值仅包括的数字(0-9)的。