2014-02-18 84 views
0
如何

获得使这个循环的工作:For循环在Windows命令行

set list=am gp it ol 

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

) 

回声总是输出到:醇醇醇醇。我该如何解决这个问题?

回答

0

尝试以下操作:

@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 
1

测试此:

@echo off 
setlocal enabledelayedexpansion 

set list=am gp it ol 

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