[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
第一个
@echo off
set str=I love,bbs;bathome.net
for %%I in (%str%) do echo %%I
pause
第二个
@echo off
set str=I love,bbs;bathome.net
for %%I in (%str%) do (set var=%%I)
echo %var%
pause>nul

TOP

A:代码:
@echo off
set str="I love,bbs;bathome.net"
for /f "delims=,;= tokens=1-5"  %%i in (%str%) do (echo %%i %%j %%k %%l %%m)
pause

B:代码:
@echo off
set str="I love,bbs;bathhome=cn"
for /f "delims== tokens=2" %%i in (%str%) do (echo %%i)
pause

TOP

看了一下,版主的问题问的好,第一题不说了,比较简单,用默认的分隔符就行了,这里说一下第二题,我觉得最贴题的就是用cls和set来处理,因为楼主的要求是要理解for的运行过程,如果用if来判断的话有点勉强。鉴定完毕.
1

评分人数

    • wxcute: 思路不错。对于第二点,如果先定义变量,再 ...PB + 1

TOP

A1:假设令 set str=I love,bbs;bathome.net,请分别显示出I、love、bbs、bathome和cn这五个字符串。目的:了解for语句用到了哪些符号作为元素的分隔符。

@echo off
set str=I love,bbs;bathome.net
for %%i in (%str%) do echo %%i
pause
A2:条件同A1,要求最后只显示cn这个字符串。目的:了解for语句的执行流程。

@echo off
set str=I love,bbs;bathome.net
for %%i in (%str%) do cls& echo %%i
pause

TOP

set str=I love,bbs;bathome.net
for %%i in (str) do ( if i==cn do  echo %%i)

TOP

刚开始学,感谢楼主编写的for教程,这是我到目前为止见过的最通俗易懂的了
第一题
-----------------------------------------------------
  1. @echo off
  2. set str=I love,bbs;bathome.net
  3. for  %%i in (%str%) do  echo %%i
  4. pause
复制代码
第二题
-------------------------------------------------------------------------
  1. @echo off
  2. set str=I love,bbs;bathome.net
  3. for  %%i in (%str%) do cls & echo %%i
  4. pause
复制代码

TOP

下面这个练习那位高手能给出正确的答案

  练习:用for语句建立test1.txt、test2.txt和test3.txt三个文本文件。

TOP

  1. @echo off
  2. for /f "tokens=3,4,5,6,7 delims=,=; " %%i in ("set str=I love,bbs;bathome.net") do (
  3. echo %%i
  4. echo %%j
  5. echo %%k
  6. echo %%l
  7. echo %%m
  8. )
  9. pause
复制代码

TOP

回复 52楼 的帖子

for %%a in (text1.txt,text2.txt,text3.txt) do md %%a

TOP

@echo off
for %%I in (I love,bbs;bathome.net) do echo %%I
pause

TOP

A
  1. set str=l love,bbs;bathome.net
  2. for %%a in (%str%) do echo %%a
复制代码
B
[code}
set str=l love,bbs;bathome.net
for /f "tokens=2 delims==" %%a in ("%str%") do echo %%a
[/code]

TOP

A1:假设令 set str=I love,bbs;bathome.net,请分别显示出I、love、bbs、bathome和cn这五个字符串。目的:了解for语句用到了哪些符号作为元素的分隔符。
  1. @echo off
  2. set str=I love,bbs;bathome.net
  3. for %%a in (%str%) do echo %%a
  4. pause>nul
复制代码
A2:条件同A1,要求最后只显示cn这个字符串。目的:了解for语句的执行流程。
  1. @echo off
  2. set str=I love,bbs;bathome.net
  3. for %%a in (%str%) do ( if "%%a"=="cn" echo %%a )
  4. pause>nul
复制代码

TOP

回复 52楼 的帖子

楼主的问题都有那么多人回答了,大家的答案都大同小异。所以我也不重复回答了。下面这个是52楼朋友的答案。
如果只是单纯的用FOR而不能加参数的话可以这样:
  1. @for %%a in (1 2 3) do (cd.>test%%a.txt)
复制代码
如果可以用参数的话用/l来处理工作量比较大的很好用。
  1. @for /l %%a in (1,1,3) do (cd.>test%%a.txt)
复制代码

(另外想请问一下,为什么我在“原创代码”版块里不能发新帖呢?是我“等级”太低了还是?我是昨天注册的。)

[ 本帖最后由 zljzsmzzx 于 2009-6-10 14:31 编辑 ]

TOP

回复 59楼 的帖子

请学会使用code将代码括起来
http://www.bathome.net/faq.php?action=message&id=18
(*^_^*)

TOP

回复 12楼 的帖子

for %%i in (%str%) do (set a=%%i)
覆盖这个想法真不错啊!
我只想到了个if啊。
高手哦

TOP

返回列表