[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
回复 195# victory2589


把.替换成=

TOP

回复 187# zxd11097


    set "a=%str:.==% 是什么意思

TOP

回复 186# Hello123World


    还是版主NB

TOP

本帖最后由 brim 于 2011-9-23 01:21 编辑

A1-1
  1. @echo off
  2. set str=I love,bbs;bathome.net
  3. for %%i in (%str%) do echo %%i
  4. pause
复制代码
bathome.net不能分开但能够达到目的:了解for语句用到了哪些符号作为元素的分隔符。
A1-2
  1. @echo off
  2. set "str=I love,bbs;bathome.net,"
  3. for /f "tokens=1-5 delims=,;. " %%I in ("%str%") do echo %%I&echo %%J&echo %%K&echo %%L&echo %%M
  4. pause
复制代码
能够分开所有但不能达到目的。

A2
  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
复制代码
1

评分人数

TOP

本帖最后由 aber02zzl 于 2011-9-22 21:17 编辑

第一题答案:
  1. @echo off
  2. set str= I love,bbs;bathome.net
  3. for /f "tokens=1-5 delims=,.; " %%a in ("%str%") do echo %%a %%b %%c %%d %%e
  4. pause
复制代码
第二题答案:
  1. @echo off
  2. set str= I love,bbs;bathome.net
  3. for /f "tokens=5 delims=,.; " %%a  in ("%str%") do echo %%a
  4. pause
复制代码
1

评分人数

TOP

请楼主继续发好贴,支持你

TOP

做A1时想到一个问题,刚开始是我理解错题,理解为要求这样显示 I、love、bbs、bathome、net
但str=I love,bbs;bathome.net  问题就是 delims一旦指定了其它字符,怎么再去指定空格字符,想了好久怎么也不能把I love分开提取出来(要和另外的一起提取)

TOP

A2
  1. @echo off
  2. title FOR
  3. set str=I love,bbs;bathome net
  4. for %%i in (%str%) do if "%%i"=="net" echo %%i
  5. pause >nul
复制代码
[color=BLUE]一切只为了批处理&DOS[/color]

TOP

lz 的意思是A1 题,“请分别显示出I、love、bbs、bathome和net这五个字符串。” 我理解的意思是分别显示这五格字符串,比如是:
I
love
bbs
bathome
net

怎么大家的答案显示的各种各样了?
大多都是这个答案。审题有问题吧?
love
bbs
bathome.net

TOP

本帖最后由 zxd11097 于 2011-7-20 00:40 编辑

A1(本人初学者 , 语法粗糙 望见谅)
  1. @echo off
  2. set "str=I love,bbs;bathome.net"
  3. set "a=%str:.==%
  4. for %%b in (%a%) do echo %%b
  5. pause
复制代码

TOP

本帖最后由 Hello123World 于 2011-7-17 13:56 编辑
  1. @echo off
  2. set str=I love,bbs;bathome.net
  3. For %%i in (%Str%) do (If %%i==bathome.net (Echo bathome
  4. echo net ) Else Echo %%i)
  5. pause>nul
  6. ::纯for用,;=空格作为默认分隔符;.号不是默认分隔符。
复制代码
1# namejm
  1. @echo off
  2. set str=I love,bbs;bathome.net
  3. For %%i in (%Str%) do (If %%i==bathome.net echo net)
  4. pause>nul
  5. ::纯for用,;=空格作为默认分隔符;.号不是默认分隔符。
复制代码
1

评分人数

    • cjiabing: 呵呵,版主给PB得了。PB + 6

TOP

A1的
  1. @echo off
  2. set str=I love,bbs;bathome.net
  3. for %%i in (%str%) do echo %%i
  4. pause>nul
复制代码
A2的
  1. @echo off
  2. set str=I love,bbs;bathome.net
  3. for %%i in (%str%) do (set a=%%i)
  4. echo %a%
  5. pause>nul
复制代码
第二个还是没能做出只显示net字符,大家的都是bathome.net。╮(╯▽╰)╭
1

评分人数

    • cjiabing: 不错,最后一句嘴基本的功夫!技术 + 1
I Love Batch as love my life!

TOP

183# zfkzp


域名改变遗留的问题,顶楼已更新。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

其实这道题,特别是A2,看得我晕乎乎的。可能是论坛数据迁移没有及时吧题目更改过来的原因吧,
如果原题目的本意是下面这样的话,那大家的答案就可以说的通了。
  1. A2:条件同A1,要求最后只显示bathome.net这个字符串。目的:了解for语句的执行流程
复制代码
因为大家的题目的显示结果都是bathome.net,而现在根本就没有人的答案得出显示cn字符来。
如果我说得对的话,请楼主更改。谢谢。
I Love Batch as love my life!

TOP

  1. @echo off
  2. color 1a
  3. echo.=============================================================
  4. echo.
  5. echo.                 Eample of "For...in...do.."
  6. echo.
  7. echo.set str=I love,bbs;bathome.net
  8. echo.A1:Print "I"、"love"、"bbs"、"bathome" and "cn" respectively.
  9. echo.A2:Only to print "cn"
  10. echo.
  11. echo.=============================================================
  12. set str=I love;bbs;bathome.net
  13. echo.Here is the answer of A1 (Using Switch of "/f"):
  14. for /f "tokens=1-5 delims=;. " %%a in ("%str%") do (echo %%a & echo %%b & echo %%c & echo %%d & echo %%e )
  15. echo.===========================================
  16. echo.Here is the answer of A2:
  17. set str=I love;bbs;bathome.net
  18. for /f "tokens=5 delims=;. " %%a in ("%str%") do (echo %%a )
  19. echo.===========================================
  20. set str=I love;bbs;bathome.net
  21. echo.Here is the answer of A1 (No Using Switch of "/f"):
  22. for %%a in (%str%) do (echo %%a)
  23. set /p over=
复制代码
1

评分人数

    • cjiabing: Good.What is this?set /p over=技术 + 1

TOP

返回列表