我正在使用简单的批处理文件技术来获取用户输入:
@ECHO OFF
SET /P UserInput=Please Enter Version as X.X.X.X:
你知道如何验证 XXXX 是数字吗?
例如:
用户输入应该是:1.0.0.23
谢谢!:)
我正在使用简单的批处理文件技术来获取用户输入:
@ECHO OFF
SET /P UserInput=Please Enter Version as X.X.X.X:
你知道如何验证 XXXX 是数字吗?
例如:
用户输入应该是:1.0.0.23
谢谢!:)
此答案检查 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%
也可以添加对负数的验证。
这是一个相当简单的 - 如果存在除数字或句点之外的任何其他字符,那么它将循环返回以进行另一次:
@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