Я хочу получить много входных данных от пользователя, использующего цикл в командном файле - PullRequest
0 голосов
/ 02 сентября 2018
FOR /L %%A IN (1,1,10) DO (
SET /P INPUT%%A= ENTER THE FIRST INPUT :
ECHO %INPUT%%A% )

:: Вот моя проблема, я не знаю, как получить значение в переменной INPUT %% A

1 Ответ

0 голосов
/ 02 сентября 2018

Все, что вам нужно, это 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!
)

Вы также не хотите выводить 1-й раз при каждом вызове ввода, 2-й не 1-й, поэтому посмотрите примеры операторов if.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...