返回列表 发帖
第一个
@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教程,这是我到目前为止见过的最通俗易懂的了
第一题
-----------------------------------------------------
@echo off
set str=I love,bbs;bathome.net
for  %%i in (%str%) do  echo %%i
pauseCOPY
第二题
-------------------------------------------------------------------------
@echo off
set str=I love,bbs;bathome.net
for  %%i in (%str%) do cls & echo %%i
pauseCOPY

TOP

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

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

TOP

@echo off
for /f "tokens=3,4,5,6,7 delims=,=; " %%i in ("set str=I love,bbs;bathome.net") do (
echo %%i
echo %%j
echo %%k
echo %%l
echo %%m
)
pauseCOPY

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
set str=l love,bbs;bathome.net
for %%a in (%str%) do echo %%aCOPY
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语句用到了哪些符号作为元素的分隔符。
@echo off
set str=I love,bbs;bathome.net
for %%a in (%str%) do echo %%a
pause>nulCOPY
A2:条件同A1,要求最后只显示cn这个字符串。目的:了解for语句的执行流程。
@echo off
set str=I love,bbs;bathome.net
for %%a in (%str%) do ( if "%%a"=="cn" echo %%a )
pause>nulCOPY

TOP

回复 52楼 的帖子

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

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

[ 本帖最后由 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

返回列表