我想使用批处理文件中的for循环从用户那里获得很多输入

时间:2018-09-02 01:35:37

标签: windows batch-file variables for-loop

FOR /L %%A IN (1,1,10) DO (
SET /P INPUT%%A= ENTER THE FIRST INPUT :
ECHO %INPUT%%A% )

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

1 个答案:

答案 0 :(得分: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,而2nd不是1st,因此请参见if语句示例。