在 .cmd 中获取整数输入

问题描述 投票:0回答:1

如何获取用户输入的整数?

我已经尝试过这段代码:

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]

所以我想把这两个指令结合起来。哪条指令是获取用户输入整数的正确指令?

windows batch-file cmd
1个回答
0
投票
@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
中的引号 - 允许提示包含空格。

© www.soinside.com 2019 - 2024. All rights reserved.