批处理FOR入门精通.docVIP

  • 1
  • 0
  • 约11.28万字
  • 约 31页
  • 2016-12-03 发布于河南
  • 举报
批处理FOR入门精通

批处理FOR入门与精通 第一节 FOR的语法 恭喜你捡到了一本批处理秘籍《FOR入门与精通》! 下面我们开始FOR的神奇之旅…… 一、概述 欢迎进入FOR的神奇世界! FOR就像魔法师手里的魔法棒,武士手里的剑。或许这样形容更好,批处理命令相当于法术师的魔咒,而FOR就是一句最厉害的的魔法咒语。电影里的道士驱魔的时候,总要念一些经咒,好比“阿弥阿弥哄”,FOR就是这个“阿弥阿弥哄”。实在不行你就当它是阿里巴巴的“芝麻开门”算了,当你在一个批处理里使用FOR命令时,它就能帮你打开一个命令开关,从而帮你打开一个神奇的批处理世界。 课前思考题: 李四送喝醉了的张三回家,张三家门锁着,没人在家。李四从张三口袋里掏出一串钥匙,他不知道哪个钥匙能开门,你说他该怎么办? 二、FOR的语法 FOR是一个循环命令。所谓的循环指,对一组文件逐一运行一条命令,或对一组文件中的每一个文件执行某个特定命令。FOR常用于循环命令、遍历查询、解析文本等。 1、FOR的基本语法格式: FOR /参数 %%I IN (Command1) DO Command2 FOR /参数 %%字母 IN (集合) DO 命令 [命令参数] FOR /参数 %%Variable IN (Set) DO Command [Command-Parameters] (注意:这三条命令的语法格式都一致,只是表示方式不同而已。一般情况下,本教程采用第一条表达,采用第二条讲解,采用第三条补充。) 2、用法: 一句话总结:从集合中依次逐一提取变量执行后面的命令。 FOR—IN—DO 这是FOR命令的基本结构,三个基本组成部分缺一不可。 FOR: 负责打开循环命令开关。 IN 负责从集合中抽取元素替换变量。它后面的括号不能省略。 DO 负责安排需要执行的命令和动作。它可以是一个命令如echo,也可以是一组命令如if exist。 /参数、%%I、(Command1)、Command2是它的动态组成部分,也是我们讲解的重点。 参数: 用来解释FOR,设置循环的模式。FOR常用的参数有/D、/F、/R、/L。 变量: 形式如%%I。集合中用来执行后面命令的任意一个可能的数值,需要执行命令的对象,一个替换位置。当它空缺时是变量,当FOR运行时它抽取集合里的数值替换自己,从而变成一个固定值。因此它来自集合,限于集合范围。 集合 范围、总量。是一个数据库,由固定数值组成,向变量提供固定数值,用于替换变量。变量和集合的关系是需求与供给的关系。集合的个数决定了需要循环的次数。集合要用括号括起来,不能缺少。 3、FOR的处理流程: 打开循环命令FOR。 第一步,从集合中抓取第一个数值A。用A替换形式变量%%I。用被A替换的%%I运行一次DO后面的命令Command2。 第二步、从集合中抓取第二个数值B。用B替换形式变量%%I。用被B替换的%%I运行一次DO后面的命令Command2。 第三步、从集合中抓取第三个数值C。用C替换%%I。用被C替换的%%I执行DO后面的命令。 ………… “抓取-替换-执行命令”机器根据命令不停地从集合中抓取数值替换变量执行后面的命令。一次只处理一个数值,依次循环下去,直至集合中的数值全部被处理过。 这就是FOR命令的奥秘所在:逐个抓取,依次完成。 三、实战应用 理论的东西太过抽象,我们用事例来解释。回头看看前面的故事,李四如何用那串钥匙开锁? 1、钥匙的启示 可能很多人一下子就想到了,既然钥匙在手中,何不一个一个的试,看哪个能打开。钥匙有一大串,而门锁只有一个孔,所以,一次你只能试一根钥匙。一根一根的试,直到找到那根能够打开锁的钥匙。 FOR的工作原理类似于此。 集合(Command1)相当于钥匙串,它由许多个数值(钥匙)组成。变量%%I就是尝试开门锁的那根钥匙,它是从钥匙串里抓取出来的,不特指哪根。DO+命令就是尝试开门锁。 FOR每次从集合(钥匙串)中抓取一个数值(一根钥匙),然后用这个数值执行DO后面的命令(尝试开锁)。FOR不是一次就同时抓取集合里的所有数值(所有钥匙),而是

文档评论(0)

1亿VIP精品文档

相关文档