如何获取用户输入的整数?
我已经尝试过这段代码:
echo off
set /p input=Give me your name:
Rem here.
set /p /a loops=Number of loops:
for /L %%i in (1,1,%loops%) do (echo %input% )
pause
但是当我运行批处理文件时,它不会打印任何内容,所以我猜
Rem
标记的指令有问题。
要以字符串形式获取用户输入,指令为
set /p [input]=[message]
,要设置整数类型的环境变量,指令为 set /a [variable]=[value]
。
所以我想把这两个指令结合起来。哪条指令是获取用户输入整数的正确指令?
@ECHO OFF
SETLOCAL
:again
SET /p "loops=Number of loops: "
SET /a loopsin=0+%loops%
IF "%loopsin%" neq "%loops%" ECHO "%loops%" is invalid&GOTO again
ECHO %loops%
GOTO :EOF
这应该会重复提示,直到输入一个整数。
注意
set /p
中的引号 - 允许提示包含空格。