联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!
@echo off&setlocal enabledelayedexpansion :begin cls&set /p var=请输入以空格格开的n组字符串: if "%var%"=="" goto begin for %%i in (%var%) do ( set/a n+=1,m+=1 set _!n!=%%i ) set /a m-=1 cls&echo 倒数第二组字符串为:!_%m%! pause>nul
@echo off & SetLocal EnableDelayedExpansion set var=abc def ghi jkl mno for %%a in (%var%) do ( set result=!temp! set temp=%%a ) echo.%result%
Originally posted by lxmxn at 2008-5-11 11:53 PM: 我也来一个~ @echo off & SetLocal EnableDelayedExpansion set var=abc def ghi jkl mno for %%a in (%var%) do ( set result=!temp! set temp=%%a ) echo.%result%
Originally posted by lxmxn at 2008-5-11 23:53: 我也来一个~ @echo off & SetLocal EnableDelayedExpansion set var=abc def ghi jkl mno for %%a in (%var%) do ( set result=!temp! set temp=%%a ) echo.%result%
Originally posted by pusofalse at 2008-5-11 23:57: 版主能解释下吗?~ 不懂~
Originally posted by lxmxn at 2008-5-12 12:01 AM: for 循环到最后一次的时候,将 result 的值赋值为 temp 的值,而此时 temp 的值真好是倒数第二次迭代的 %%a,所以可以得到倒数第二个字符串。
@echo off set var=afb dedf dflke yes mno call :loop %var% pause :loop if "%3"=="" echo %1&goto :eof shift&goto loop
Originally posted by 26933062 at 2008-5-12 00:07: 我也来一个。 @echo off set var=afb dedf dflke yes mno call :loop %var% pause :loop if "%3"=="" echo %1&goto :eof shift&goto loop