返回列表 发帖
题目更改后很简单。
A1:
@echo off
set str=I love,bbs;bathome=net
for %%I in (%str%) do  echo "%%I"
pause

A2:
@echo off
set str=I love,bbs;bathome=net
for %%i in (%str%) do if %%i==net echo %%i
pause



最初的题目(条件str=I love,bbs;bathhome.net),难度高。

TOP

回复 13# qpzlsn


   你设置了STR变量就可以直接引用了啊

TOP

A1:
@echo off
set str=I love,bbs;bathome=net
for %%i in (%str%) do echo %%i
pauseCOPY
A2:
@echo off
set str=I love,bbs;bathome=net
for %%i in (%str%) do set var=%%i
echo %var%
pauseCOPY

TOP

回复 1# namejm


    A1:
@echo off
set "str=I love,bbs;bathome.net"
for /f "tokens=1,2,3,4,5 delims=,;. " %%a in ("%str%") do (
echo,%%a
echo,%%b
echo,%%c
echo,%%d
echo,%%e)
pause>nulCOPY
A2:
@echo off
set "str=I love,bbs;bathome.net"
for /f "tokens=1,2,3,4,5 delims=,;. " %%a in ("%str%") do (
echo,%%e)
pause>nulCOPY

TOP

A1:
@echo off
echo 分隔符1:逗号
for %%i in (I,LOVE,BBS,BATHOME,NET) do echo %%i
echo ____________________________________________
echo 分隔符2:分号
for %%i in (I;LOVE;BBS;BATHOME;NET) do echo %%i
echo ____________________________________________
echo 分隔符3:等号
for %%i in (I=LOVE=BBS=BATHOME=NET) do echo %%i
echo ____________________________________________
echo 分隔符4:跳格键
for %%i in (I        LOVE        BBS        BATHOME        NET) do echo %%i
echo ____________________________________________
echo 分隔符5:空格
for %%i in (I LOVE BBS BATHOME NET) do echo %%i
echo ____________________________________________
echo 非分隔符:点
for %%i in (I.LOVE.BBS.BATHOME.NET) do echo %%i
echo ____________________________________________
pause

A2:
@echo off
set str=I,LOVE,BBS,BATHOME,NET
for %%i in (%str%) do (set a=%%i)
echo %a%
pause

TOP

回复 12# akiraakito


    这位老兄理解地好。谢谢

TOP

set str=I love,bbs;bathome=net
for %%a in (%str%) do (echo %%a)COPY

TOP

本帖最后由 holley 于 2018-8-16 16:53 编辑

回复 1# namejm
A1:
@echo off
set str=I love,bbs;bathome=net
for %%i in (%str%) do echo %%i
pauseCOPY
A2:
@echo off
set str=I love,bbs;bathome=net
for %%i in (%str%) do if exist %%i echo %%i
pauseCOPY
A2乱试出来的,有点想加个不存在的出错代码提示,结果发现可以得到最后一个匹配值...

TOP

用for语句建立test1.txt、test2.txt和test3.txt三个文本文件。
@echo off
for %%a in (text1 text2 text3) do md %%a
pause

TOP

@echo off
setlocal enabledelayedexpansion
set str=I love,bbs;bathome.net
for %%i in (%str%) do (
set "bb=%%~xi" 2>null
echo.%%~ni
set /a "cc=%%~xi" 2>null&&echo.!bb:~1!
)
pause

TOP

A1:假设令 set str=I love,bbs;bathome=net,请分别显示出I、love、bbs、bathome和net这五个字符串。目的:了解for语句用到了哪些符号作为元素的分隔符。
@echo off
set str="I love,bbs;bathome=net"
for /f "tokens=1,2,3,4,5 delims=,;= " %%i in ( %str% ) do (
echo %%i
echo %%j
echo %%k
echo %%l
echo %%m
)
pause>nulCOPY
A2:条件同A1,要求最后只显示net这个字符串。目的:了解for语句的执行流程。
@echo off
set str="I love,bbs;bathome=net"
for /f "tokens=5 delims=,;= " %%i in ( %str% ) do echo %%i
pause>nulCOPY

TOP

@echo off
echo.新手试题上路中^^_^^……
set str=I love,bbs;bathome=net
for /f "tokens=1-5 delims=;=, " %%i in ("%str%") do echo %%i %%j %%k %%l %%m
:: 发现delims=;=,  里边的空格必须放在最后,且放在 TOKENS后,如果没有空格可以随便写
pause>nul
for /f "delims== tokens=2" %%i in ("%str%") do echo %%i
pause>nul
::
书山有路勤为径,学海无涯苦作舟

TOP

练习A1:
@echo off
set str=I love,bbs;bathome=net
for %%i in (%str%) do echo %%i
pause

练习A2:
@echo off
set str=I love,bbs;bathome=net
for %%i in (%str%) do set str2=%%i
echo %str2%
pause

TOP

第一题:
照葫芦画瓢
@echo off
set str=I love,bbs;bathome=net
for %%i in (%str%) do echo "%%i"
pause

第二题还没学会

TOP

set str=I love,bbs;bathome=net && @for /f "tokens=1-5 delims=,;=" %i in ("%str%") do @echo %i %j %k %l

TOP

返回列表