中国DOS联盟论坛

中国DOS联盟

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

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

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





积分 6
发帖 2
注册 2006-10-20
状态 离线
『楼 主』:  请问FOR语句 /的秘密`````

我是个刚学DOS语言的学生```
在学习时很有兴趣```
可在学到FOR语句的时候出现了个问题`````
就是FOR /R
             /L
             /F
  这3个参数个是什么意思```是不是还有其他的参数```
我这问题``查了些资料就发现了简单的解说````希望有高手能好告诉我比较详细的解说 ````在次谢过了```:D

2006-10-24 07:22
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 2 楼』:  

FOR /? 就是它的全部帮助呀!但是FOR命令不容易掌握哦,灵活应用、及思路很重要。在论坛上多搜索些实例看看~



第一高手    第二高手

2006-10-24 07:35
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
doyoukissme
新手上路





积分 6
发帖 2
注册 2006-10-20
状态 离线
『第 3 楼』:  



  Quote:
Originally posted by fastslz at 2006-10-24 07:35:
FOR /? 就是它的全部帮助呀!但是FOR命令不容易掌握哦,灵活应用、及思路很重要。在论坛上多搜索些实例看看~

FOR /?我已经看过来`````可是里面只有FOR /R 和FOR /F的解说````
那个/L的都是我在实例中看到的`````
我根本不知道FOR里面其他的/后面的参数``这样的话灵活应用就不要谈了``

2006-10-24 08:07
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


积分 5226
发帖 1737
注册 2006-3-10
来自 成都
状态 离线
『第 4 楼』:  

  请点这里:最强之dos命令 – for

[ Last edited by namejm on 2006-10-24 at 09:36 AM ]



尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
2006-10-24 08:30
查看资料  发短消息 网志   编辑帖子  回复  引用回复
jinstar211
新手上路





积分 14
发帖 7
注册 2006-10-20
状态 离线
『第 5 楼』:  

我社么也不懂,来这学习下~~~

2006-10-24 08:34
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
vkill
金牌会员





积分 4103
发帖 1744
注册 2006-1-20
来自 甘肃.临泽
状态 离线
『第 6 楼』:  

for 的帮助也很好的 啊

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




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


  其实for的帮助里面有/L参数的,只是对于新手朋友来说,讲解得比较晦涩难懂,在论坛里面搜索一下就有很多的关于for命令的用法的。
  
  个人感觉要学什么东西,首先要学会怎么去学习,掌握了好的学习方法,学什么都能很顺利的。这才是最重要的。


2006-10-24 10:44
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
flyskygen
新手上路





积分 4
发帖 1
注册 2006-10-24
来自 湖北省襄樊市
状态 离线
『第 8 楼』:  

我也不咋的懂:for /l 是个循环的……
比如: for /l %i in (1,1,1000) echo %i 会显示:1 到1000 1就是开始值,第二个1是增加值,如果是-1就是减少的值,1000就是结束值。
不知道说的对不对
初次来DOS盟吧报到……请各位高手指教……

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


2006-10-25 04:27
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (7733012)  编辑帖子  回复  引用回复
lxmxn
版主




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



  Quote:
Originally posted by flyskygen at 2006-10-25 04:27:
我也不咋的懂:for /l 是个循环的……
比如: for /l %i in (1,1,1000) echo %i 会显示:1 到1000 1就是开始值,第二个1是增加值,如果是-1就是减少的值,1000尠...


  说得不错。

for /l %i in (100,-2,60) do @echo %i
的意思就是依次显示在屏幕下显示数字序列:100,98,96,94,……,62,60,其中()中的三个实参分别是起点值,步长(也就是每次的增加量),最后一个参数是结束值,指%i到了60就停止。

再举个例子:
for /l %a in (1,1,255) do @net view 192.168.1.%a
可以查看局域网中IP为192.168.1.1--192.168.1.255的机器的共享资源列表。


   此帖被 +4 点积分      点击查看详情   
评分人:【 redtek 分数: +4  时间:2006-10-25 10:45


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




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

上面的例子第一个很好理解
跟VB没区别
甚至更简单

只是后面的那个
%a是什么意思
in (1,1,255) do @net view 192.168.1.
1,1,255
是不是从192.168.1.1开始每进阶一个数字
然后一直穷举到255?

[ Last edited by ghtfuo on 2006-10-26 at 12:04 AM ]

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




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

类似net view这种语句
是不是也有很多语法格式?

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




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



  Quote:
Originally posted by ghtfuo at 2006-10-26 00:01:
类似net view这种语句
是不是也有很多语法格式?


  Re:ghtfuo

    在我上面举的这个命令"for /l %a in (1,1,255) do @net view 192.168.1.%a"中,%a是一个变量,这个变量的具体值,就是括号()中(1,1,255)所代表的1到255的数字序列,这个命令就是执行255次的意思,而变量%a的值会随着for的执行一次而增加一次,就会增加1,也就是我上面所说的步长(就是增长量)了,所以变量%a的值是1,2,3,……,255,这样就依次的增加到255,到了255(结束值)就不执行了,这个for命令的执行也就终止了。当用了这个for命令之后,%a就代表这些数字序列,所以"net view 192.168.1.%a"就表示执行"net view 192.168.1.1"、"net view 192.168.1.2"、"net view 192.168.1.3"、……、"net view 192.168.1。255"了。

    至于net view的语法,其实不是很多,具体的语法可以用"net help view"命令查看其命令行帮助信息。


[ Last edited by lxmxn on 2006-10-26 at 12:55 AM ]

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




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

谢谢了


%a 是指代每一个递增一个步长所取得的数字,也就是后面 (1,1,255)结果的数字集合
是吧

可不可以用%b %c %d

不要在意我打破砂锅问到底啊:D

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




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

明白了……

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




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



  Quote:
Originally posted by ghtfuo at 2006-10-26 01:04:
明白了……


 
  Re:ghtfuo
  
    对于你明白了感到欣慰,因为for命令的掌握对于刚接触批处理的朋友来说,都是比较难过的一关。

    另外,补充一下:
  在命令提示符中执行for命令的时候,变量一般用一个%,比如用%a,%b,%i都可以,但是在批处理中执行for命令时,就要用两个%%,比如用%%i,%%a,%%p等,而且变量是区分大小写的,比如%%a与%%A是两个不同的变量。


[ Last edited by lxmxn on 2006-10-26 at 01:39 AM ]

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


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



论坛跳转: