【问题标题】:I Want to get many Input from the user using for loop in batch file我想在批处理文件中使用 for 循环从用户那里获得很多输入
【发布时间】:2018-09-02 01:35:36
【问题描述】:
FOR /L %%A IN (1,1,10) DO (
SET /P INPUT%%A= ENTER THE FIRST INPUT :
ECHO %INPUT%%A% )

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

【问题讨论】:

  • 您正在寻找how to create an array in batch。具体来说,看看 Aacini 的回答。
  • Echo 循环中,(在这种情况下似乎完全没有必要),你需要一个伪 Call:CALL ECHO %%INPUT%%A%%,或者之前启用延迟扩展:SETLOCAL ENABLEDELAYEDEXPANSION,在使用 ECHO !INPUT%%A! 之前。您还应该更改措辞,FIRST 的使用只适合一次!

标签: windows batch-file variables for-loop


【解决方案1】:

您只需要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!
)

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-07
    • 2018-01-09
    • 2023-04-08
    • 1970-01-01
    • 2015-07-17
    • 1970-01-01
    • 2019-06-19
    • 1970-01-01
    相关资源
    最近更新 更多