Command line Windows命令行中的For循环

Command line Windows命令行中的For循环,command-line,window,Command Line,Window,如何使此循环工作: set list=am gp it ol FOR %%a IN (%list%) DO ( set Indxed= %%a ECHO %Indxed% ) Echo始终输出到:ol。如何解决此问题?请尝试以下操作: @echo off setlocal set list=am gp it ol echo %list% call :parse "%list%" goto :eos :parse set li

如何使此循环工作:

set list=am gp it ol

 FOR %%a IN (%list%) DO (   
     set Indxed= %%a
     ECHO %Indxed%             

)

Echo始终输出到:ol。如何解决此问题?

请尝试以下操作:

@echo off
setlocal

set list=am gp it ol

echo %list%

call :parse "%list%"

goto :eos

:parse

set list=%1
set list=%list:"=%

FOR /f "tokens=1* delims= " %%a IN ("%list%") DO (
  if not "%%a" == "" call :sub %%a
  if not "%%b" == "" call :parse "%%b"
)

goto :eos

:sub

echo %1

goto :eos

:eos
endlocal
测试这一点:

@echo off
setlocal enabledelayedexpansion

set list=am gp it ol

FOR /f "delims=" %%a IN ("%list%") DO (
   set Indxed=%%a
   ECHO !Indxed!
)