[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
这样应该更严谨一些:
A1
  1. @echo off
  2. set a=I love,bbs;bathome.net
  3. set v=%a:.= %
  4. for %%I in (%V%) do echo %%I
  5. pause
复制代码
A2
  1. @echo off
  2. set a=I love,bbs;bathome.net
  3. set v=%a:.= %
  4. for %%I in (%v%) do (set s=%%I)
  5. echo %s%
  6. pause
复制代码
学习批处理,从set开始

TOP

A1:
  1. @echo off
  2. set a=I love,bbs;bathome. net
  3. for %%I in (%a%) do echo %%I
  4. pause
复制代码
A2:
  1. @echo off
  2. set a=I love,bbs;bathome. net
  3. for %%I in (%a%) do (set a=%%I)
  4. echo %a%
  5. pause
复制代码
学习批处理,从set开始

TOP

回复 12# akiraakito


    结果不正确呀,因为“.”不是分隔符,怎么可能出来单独存在的net呢?
学习批处理,从set开始

TOP

A1:
  1. @echo off
  2. set str=I love,bbs;bathome.net
  3. for %%a in (%str%) do (goto main)
  4. :main
  5. set str1=%str:~0,1%
  6. set str2=%str:~2,4%
  7. set str3=%str:~7,3%
  8. set str4=%str:~11,7%
  9. set str5=%str:~19,3%
  10. echo %str1% %str2% %str3% %str4% %str5%
  11. pause
复制代码
A2:
  1. @echo off
  2. set str=I love,bbs;bathome.net
  3. for %%a in (%str%) do (goto main)
  4. :main
  5. set str1=%str:~19,3%
  6. echo %str1%
  7. pause
复制代码
无所谓而无所为 无所谓而无所不为

TOP

看了你给的答案,我菜明白,你所说的显示cn是说显示str=I love,bbs;bathome.net字符串中的bathome.net呀!是么?
如果是这样,你看下面的代码能不能符合A2题目的要求:
@echo off
set str=I love,bbs;bathome.net
for %%i in (%str%) do (cls&echo %%i)
pause>nul

TOP

嗯,至今没搞清楚cn是什么意思,所给字符串set str=I love,bbs;bathome.net并无此字符串(初学,请指教!)

TOP

这个教程非常好,感谢楼主

TOP

小菜也来贴下代码:
A1:
  1. @echo off
  2. set str=I love,bbs;bathome.net
  3. for %%i in (%str:.= %) do echo %%i
  4. pause>Nul
复制代码
另外带/f开关的
  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. rem 如果不加tokens=1-5,则默认输出第一列.
  5. pause
复制代码
===============================================================
A2:
  1. @echo off
  2. set str=I love,bbs;bathome.net
  3. for %%i in (%str:*.= %) do echo %%i
  4. pause>Nul
复制代码
1

评分人数

http://www.bathome.net/s/tool/index.html

TOP

回复 190# zaixinxiangnian


    "delims="   表示保留空格,也就是不以空格分隔。
    "delims=  "   表示去掉空格,用空格来分隔,通常其他分隔符放在空格前,如:"delims=.,:/   "
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

回复 197# yllzl

为什么是悲剧呢?刚学习都有做不对的时候,做错了还可以再来嘛!~
你的思路也可以,只是这里是For练习,最好用一个for来解决。
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

  1. for %%i in (I love,bbs;bathome,net) do echo %%i>>1.txt
复制代码
  1. for %%i in (I love,bbs;bathome,net) do set /a=%%i
  2. echo %a%>>2.txt
复制代码
1

评分人数

    • cjiabing: 嗯,思路开,很好,一般打练习就不用打 >> ...技术 + 1

TOP

.不是分隔符啊!不用开关没法显示.

TOP

  1. set str=I love,bbs;bathome.net
  2. for /f "tokens=1-5 delims=,;. " %%a in ("%str%") do echo %%a %%b %%c %%d %%e
  3. pause
复制代码
  1. set str=I love,bbs;bathome.net
  2. for /f "tokens=3  delims=. " %%a in ("%str%") do echo %%a
  3. pause
复制代码
不好意思啊。  修改了一下别人的代码 至少我是这么思考这个问题  最终这个结果。
1

评分人数

    • cjiabing: 可以。中规中矩,显示全句也可以用tokens=*技术 + 1
莫求昨天无悔,但愿今日无愧。

TOP

本帖最后由 yllzl 于 2011-11-17 14:27 编辑

在网上搜资料,无意间到到了这个论坛,无意间看到这个帖子
然后……
看来两百多个帖子,只有一个半人达到要求
悲剧啊
  1. @echo off
  2. set "str=I love,bbs;bathome.net"
  3. set a=%str:.= %
  4. for %%i in (%a%) do echo %%i
  5. pause>nul
复制代码
  1. @echo off
  2. set "str=I love,bbs;bathome.net"
  3. set a=%str:.= %
  4. for %%i in (%a%) do (set b=%%i)
  5. echo %b%
  6. pause>nul
复制代码
1

评分人数

    • cjiabing: 虽然用了set替换,但不是很符合出题要求,未 ...PB + 6

TOP

回复 195# victory2589


把.替换成=

TOP

返回列表