var=abc def ghi jkl mno
输出jkl
var的值不定。。。 其中总是有空格,以空格作为分割符 输出倒数第二个字符串~
^_^
输出jkl
var的值不定。。。 其中总是有空格,以空格作为分割符 输出倒数第二个字符串~
^_^
联盟域名: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
@echo off
set var=afb dedf dflke yes mno
for %%a in (%var%) do set /a n+=1,m=n-1
for /f "tokens=%m% delims= " %%a in ("%var%") do echo %%a
pause
@echo off
set var=afb dedf dflke yes mno
for %%a in (%var%) do call set str=%%a %%str%%
for /f "tokens=2 delims= " %%a in ("%str%") do echo %%a
pause
Originally posted by zw19750516 at 2008-5-12 12:22 AM:
pusofalse兄弟学习认真,思路活跃,钻研刻苦,提高迅速,值得加分鼓励!!!
我都不好意思了~ ^_^Originally posted by pusofalse at 2008-5-12 00:24:
多谢前辈赏识~ :D 我都不好意思了~ ^_^
Originally posted by zw19750516 at 2008-5-12 12:26 AM:
不要不好意思了,兄弟cn-dos需要你这样的人,加油啊!!!
@echo off
set var=afb dedf dflke yes mno
set var=%var: =.%&call:lp %%var%%
echo %str:~1%
pause&goto :eof
:lp
if not defined str (set str=%~n1&call:lp %%str%%)else set str=%~x1
@echo off
set "var=afb dedf dflke sd yes mno"
set var=%var: ="%
%var:*"=set "var=%
set var=%var:"= %
for %%a in (%var%) do set var=%%a
echo %var%
pause
Originally posted by 26933062 at 2008-5-12 03:20 AM:
再来个另类点的。
@echo off
set "var=afb dedf dflke sd yes mno"
set var=%var: ="%
%var:*"=set "var=%
set var=%var:"= %
for %%a in (%var%) do set v ...
Originally posted by 26933062 at 2008-5-12 03:20:
再来个另类点的。
@echo off
set "var=afb dedf dflke sd yes mno"
set var=%var: ="%
%var:*"=set "var=%
set var=%var:"= %
for %%a in (%var%) do set v ...