中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
« [1] [2] »
作者:
标题: 请问FOR语句 /的秘密````` 上一主题 | 下一主题
ghtfuo
初级用户




积分 122
发帖 12
注册 2004-4-24
状态 离线
『第 16 楼』:  

命令提示符
批处理中

记住了,谢谢你

2006-10-26 05:05
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ghtfuo
初级用户




积分 122
发帖 12
注册 2004-4-24
状态 离线
『第 17 楼』:  

for/?

后面有几种用法

2006-10-26 05:08
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ghtfuo
初级用户




积分 122
发帖 12
注册 2004-4-24
状态 离线
『第 18 楼』:  

格式就是

for/? %? +方式 +(范围)+动作+起始对象 +%?

是不是这样啊

2006-10-26 05:13
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ghtfuo
初级用户




积分 122
发帖 12
注册 2004-4-24
状态 离线
『第 19 楼』:  

意思就是把所求的结果作为一个变量%X以什么样的方式用什么样的范围对一个对象做什么动作
然后把结果显出来?

2006-10-26 05:19
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 20 楼』:  


  恩,大致是这样的吧。只要你自己真正理解了它的原理就够了。还是建议要多多练习for语句的使用,练习多了自然就对它更了解,用它解决问题就更得心应手了。


2006-10-26 12:15
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ghtfuo
初级用户




积分 122
发帖 12
注册 2004-4-24
状态 离线
『第 21 楼』:  

好的
谢谢了
我看看cmd中的帮助

2006-10-27 08:04
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ghtfuo
初级用户




积分 122
发帖 12
注册 2004-4-24
状态 离线
『第 22 楼』:  

FOR /F ["options"] %variable IN (file-set) DO command [command-parameters]
FOR /F ["options"] %variable IN ("string") DO command [command-parameters]
FOR /F ["options"] %variable IN ('command') DO command [command-parameters]

file-set
"string"
'command'
各指代的是什么动作

“options”里面是不是可以载入这些
eol=c
skip=n
delims=xxx
tokens=x,y,m-n
usebackq

2006-10-27 08:14
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 23 楼』:  


Re : ghtfuo

  file-set:代表for执行的对象是一个文件,也可以是多个文件,同时支持通配符"?"和"*";

  "string":表示for执行的对象是一个字符串,比如"www.Cn-Dos.Net"这个字符串;
  for /f "tokens=1,* delims=-" %i in ("www.Cn-Dos.Net") do @echo %i+%j执行的结果是:"www.Cn+Dos.Net";

  'command':表示for执行的对象是一个命令的输出,比如"ipconfig /all"这个命令;
  for /f "delims=: tokens=1*" %i in ('ipconfig /all^|find /i "ip address"') do @echo %j执行的结果是你的ip地址.

  至于"Options",你说的是对的.
 
  要多多体会这个命令的用法才能真正掌握它.


[ Last edited by lxmxn on 2006-10-30 at 06:24 AM ]

2006-10-27 21:46
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ghtfuo
初级用户




积分 122
发帖 12
注册 2004-4-24
状态 离线
『第 24 楼』:  

delims的意思就是把执行语句中的每一次循环的处理结果,分割组合成一个集
tokens则是取一次往前移动一定步幅所得到的字符?

('ipconfig /add^|find /i "ip address"')这个括号里add^|find /i "的含义我不了解

[ Last edited by ghtfuo on 2006-10-30 at 06:21 AM ]

2006-10-30 06:19
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 25 楼』:  


  Re : ghtfuo

  哦,不要意思啊,打错了,我已经改了,这里的"add"应该是"all",这个"/all"是"ipconfig"命令的参数,它的作用就是显示计算机当前的TCP/IP配置的详细信息,包括IP,MAC,网关,和主机名等相关信息.是相对"ipconfig"命令没有参数的情况的..

  这里的"('ipconfig /all^|find /i "ip address"')"应该看作两个部分来理解,一个是"ipconfig /all",而另一个是"find /i "ip address"",前者在上面已经讲过了,而后者中的"/i"是"find"命令的参数,表示查找时忽略大小写,举个例子吧来看吧.
  比如现在有一个文件abc.txt,里面的内容是:
--------------------abc.txt---------------------------------------------
www.Cn-DoS.net
www.cn-dos.net
--------------------abc.txt---------------------------------------------
只有这两行内容,那么在命令提示符里面执行"find "Cn-DoS" abc.txt",就可以找到第一行的内容,如果你用"find "cn-dos" abc.txt",就可以找到第二行的内容,如果你用到了"/i"这个参数,那么就表示查找字符串的时候忽略大小写,所以如果执行"find /i "cn-Dos" abc.txt"的话,那么abc.txt中的两行内容都可以找到..

  这里的"^|"是管道符,作用是把"ipconfig /all"的结果传输到"find /i "ip address""命令,也可以理解为把"ipconfig /all"的结果作为"find /i "ip address""命令的对象.而这里的"^"符号,是转义字符,之所以加上这个"^",是由于for命令的特性决定的.在for命令的括号里面使用管道符号"|",必须在前面加上一个"^"作为转义.

  另外,建议你多看看系统自带的帮助文档.或者直接在命令行"命令 /?"查看帮助.
hh ntcmds.chm::ntcmds.htm


[ Last edited by lxmxn on 2006-10-30 at 07:30 AM ]

   此帖被 +2 点积分     点击查看详情   
评分人:【 redtek 分数: +2  时间:2006-10-30 08:14


2006-10-30 07:04
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ghtfuo
初级用户




积分 122
发帖 12
注册 2004-4-24
状态 离线
『第 26 楼』:  

一说就明白了
就是这个帮助文件找不到了
才问的

2006-10-30 07:15
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: