当用户输入他应输入的值时,我需要进行验证 只有数字值,但用户将以下面的格式输入值
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
答案 0 :(得分: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
)将构建字符串解析为四个单独的值(?/.,
)并检查每个值是否仅由数字组成({{1} })。