找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
楼主: namejm

批处理for语句从入门到精通配套练习题

[复制链接]
发表于 2017-5-26 13:07:31 | 显示全部楼层
题目更改后很简单。
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),难度高。
发表于 2017-10-4 22:16:05 | 显示全部楼层
回复 13# qpzlsn


   你设置了STR变量就可以直接引用了啊
发表于 2017-11-23 03:26:36 | 显示全部楼层
A1:
  1. @echo off
  2. set str=I love,bbs;bathome=net
  3. for %%i in (%str%) do echo %%i
  4. pause
复制代码
A2:
  1. @echo off
  2. set str=I love,bbs;bathome=net
  3. for %%i in (%str%) do set var=%%i
  4. echo %var%
  5. pause
复制代码
发表于 2018-3-9 10:01:56 | 显示全部楼层
回复 1# namejm


    A1:
  1. @echo off
  2. set "str=I love,bbs;bathome.net"
  3. for /f "tokens=1,2,3,4,5 delims=,;. " %%a in ("%str%") do (
  4. echo,%%a
  5. echo,%%b
  6. echo,%%c
  7. echo,%%d
  8. echo,%%e)
  9. pause>nul
复制代码
A2:
  1. @echo off
  2. set "str=I love,bbs;bathome.net"
  3. for /f "tokens=1,2,3,4,5 delims=,;. " %%a in ("%str%") do (
  4. echo,%%e)
  5. pause>nul
复制代码
发表于 2018-5-1 11:32:14 | 显示全部楼层
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
发表于 2018-5-26 22:12:12 | 显示全部楼层
回复 12# akiraakito


    这位老兄理解地好。谢谢
发表于 2018-7-21 20:32:16 | 显示全部楼层
  1. set str=I love,bbs;bathome=net
  2. for %%a in (%str%) do (echo %%a)
复制代码
发表于 2018-8-16 16:50:31 | 显示全部楼层
本帖最后由 holley 于 2018-8-16 16:53 编辑

回复 1# namejm
A1:
  1. @echo off
  2. set str=I love,bbs;bathome=net
  3. for %%i in (%str%) do echo %%i
  4. pause
复制代码
A2:
  1. @echo off
  2. set str=I love,bbs;bathome=net
  3. for %%i in (%str%) do if exist %%i echo %%i
  4. pause
复制代码
A2乱试出来的,有点想加个不存在的出错代码提示,结果发现可以得到最后一个匹配值...
发表于 2019-1-27 19:38:49 | 显示全部楼层
用for语句建立test1.txt、test2.txt和test3.txt三个文本文件。
@echo off
for %%a in (text1 text2 text3) do md %%a
pause
发表于 2019-6-9 14:34:02 | 显示全部楼层
@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
发表于 2019-8-16 13:20:13 | 显示全部楼层
A1:假设令 set str=I love,bbs;bathome=net,请分别显示出I、love、bbs、bathome和net这五个字符串。目的:了解for语句用到了哪些符号作为元素的分隔符。
  1. @echo off
  2. set str="I love,bbs;bathome=net"
  3. for /f "tokens=1,2,3,4,5 delims=,;= " %%i in ( %str% ) do (
  4. echo %%i
  5. echo %%j
  6. echo %%k
  7. echo %%l
  8. echo %%m
  9. )
  10. pause>nul
复制代码
A2:条件同A1,要求最后只显示net这个字符串。目的:了解for语句的执行流程。
  1. @echo off
  2. set str="I love,bbs;bathome=net"
  3. for /f "tokens=5 delims=,;= " %%i in ( %str% ) do echo %%i
  4. pause>nul
复制代码
发表于 2020-4-16 22:43:41 | 显示全部楼层
@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
::
发表于 2020-4-29 15:22:01 | 显示全部楼层
练习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
发表于 2020-5-7 10:42:05 | 显示全部楼层
第一题:
照葫芦画瓢
@echo off
set str=I love,bbs;bathome=net
for %%i in (%str%) do echo "%%i"
pause

第二题还没学会
发表于 2020-6-4 21:21:51 | 显示全部楼层
set str=I love,bbs;bathome=net && @for /f "tokens=1-5 delims=,;=" %i in ("%str%") do @echo %i %j %k %l
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 03:54 , Processed in 0.023005 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表