我希望在批处理文件中使用for循环从用户那里获得许多输入

问题描述 投票:-1回答:1
FOR /L %%A IN (1,1,10) DO (
SET /P INPUT%%A= ENTER THE FIRST INPUT :
ECHO %INPUT%%A% )

::这是我的问题我不知道如何在变量INPUT %% A中获取值

windows batch-file variables for-loop
1个回答
0
投票

你需要的只是delayedexpansion。从cmd控制台运行setlocal /?获取帮助。例如,如果要设置!output!的标准变量名,但更改其内容以包含循环计数器的编号:

@echo off
setlocal enabledelayedexpansion
for /L %%i in (1,1,10) do (
  if %%i equ 1 set handle=st
  if %%i equ 2 set handle=nd
  if %%i equ 3 set handle=rd
  if %%i geq 4 (if %%i lss 11 set handle=th)
  set /p "input=What is your %%I!handle! input? :"
  set input=!input!%%i
  echo !input!
)

您也不希望每次调用输入时都回显1st,第二个不是1st,所以请参阅if语句示例。

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