[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[其他] 以下代码中for语句do之后的语句是如何引用%%i变量的

请问以下语句中的ping bbs.bathome.net是如何引用for 循环种的%%i变量的,有点不解,谁能解释下,谢谢。
@echo off
for /l %%i in (1 1 10000000) do ping bbs.bathome.net
paus

[ 本帖最后由 adrien0901 于 2008-11-5 12:10 编辑 ]

即使do之后没有引用%%i变量,之后的命令也是要运行的,除非循环范围为空。
认真看完这篇帖子,相信会对你有很大帮助的:http://bbs.bathome.net/thread-2189-1-2.html

[ 本帖最后由 pusofalse 于 2008-11-5 16:00 编辑 ]
心绪平和,眼藏静谧。

TOP

批处理中的:
for /l %%i in (2,1,10) do (
  ...
)
相当于C语言中的:
for (i=2;i<=10;i++) {
  ...
}

在循环体中,不管你是否引用控制变量%%i,程序都会对2~10进行一次遍历,也就是说,循环体中的内容会被执行10-2+1=9次。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

原帖由 pusofalse 于 2008-11-5 15:55 发表
即使do之后没有引用%%i变量,之后的命令也是要运行的,除非循环范围为空。
认真看完这篇帖子,相信会对你有很大帮助的:http://bbs.bathome.net/thread-2189-1-2.html


非常感谢

看了这段话理解了。

  3、for语句依次提取command1中的每一个元素,把它的值赋予形式变量I,带到do后的command2中参与命令的执行;并且每次只提取一个元素,然后执行一次do后的命令语句,而无论这个元素是否被带到command2中参与了command2的运行;当执行完一次do后的语句之后,再提取command1中的下一个元素,再执行一次command2,如此循环,直到command1中的所有元素都已经被提取完毕,该for语句才宣告执行结束

TOP

回复 4楼 的帖子

那段解释对应于 for (xxx xxx xxx) do (...),而不是 for /l ...,稍有区别,请在以后的学习中细加揣摩,或者等那篇教程发布完整以后再去学习。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表