命令与教程-for  .加精 - - !!

社区服务
高级搜索
猴岛论坛电脑百科命令与教程-for  .加精 - - !!
发帖 回复
倒序阅读 最近浏览的帖子最近浏览的版块
2个回复

命令与教程-for  .加精 - - !!

楼层直达
社会工程学

ZxID:11644013

等级: 少将
不要跟我谈技术,怕你不够档次.

举报 只看楼主 使用道具 楼主   发表于: 2010-05-07 0
下面所讲的命令,请大家先查看帮助再看
有些命令要结合其他命令才显示出应用效果,会略提示一下
如有错误,或解释不全请给予指正!
for命令是批处理中一个强大的循环命令,不同的参数赋于的循环意义变化较大,掌握这命令要配合大量的练习才能灵活运用!
for 没有参数时的基本形式::for %%变量名 in (字符串) do 命令%%变量名:是for指定的单一字母变量,变量会逐一代替括号所得结果字符串
注意: 变量名是区分大小写的如:%%i 跟 %%I 是两个不同的for变量
for在没参数时的循环次数取决于for变量的个数,下面例子: 
代码:
@echo off
rem %%i的个数有三个,值分别是a,b,c
for %%i in (a b c) do echo %%i
rem 结果是for循环了三次,执行了三次echo %%i,每次%%i会代替相应的值
pause 
通过上面的例子,相信大家对for有个基本的认识,在括号里可以发现是以空格来分隔字符串的,我们也可以使用逗号来分隔!
例如代码:
@echo off
rem 得到的结果跟上例一样
for %%i in (a,b,c) do echo %%i
pause
同样,当有字符串含有空格,我们也可用双引号括起来当作一个整体: 
例如代码:
@echo off
rem 由于双引号括起只循环一次,%%i值为"a b c"
for %%i in ("a b c") do echo %%i
pause
rem 注意用双引号括起,结果逗号不再作为分隔符消失
rem %%i值为"a,b,c"
for %%i in ("a,b,c") do echo %%i
pause 
字符串: 在for没有参数的情况下,括号里的字符都是被认为是字符串(除分隔符,变量)
如当前目录存在一个test.txt,那么: 
例如代码:
@echo off
rem 只显示文件名,没有显示文件内容
for %%i in (test.txt) do echo %%i
pause
rem 括号使用命令,只显示命令没有执行
for %%i in (start test.txt) do echo %%i
pause
注意:当do后面的命令不止一行时,可使用括号括起 
例如代码:
@echo off
for %%i in (a b c) do (
rem 生成三个空文件
cd. >%%i.txt
echo %%i
)
pause
for 的简单嵌套
当一个for里面再嵌套for时,循环的次数要看清楚
下面的例子运行看看: 
代码:
@echo off
for %%i in (a b c) do (
rem %%i三个,执行了三次for %%j
for %%j in (1 2 3) do (
echo %%i %%j
))
pause
for的循环结构,不同于顺序结构(命令从上到下执行),要配合大量的练习熟悉。所以,今天只要讲for不带参数,有个基本的认识,其他参数会逐步讲解。

本帖de评分: 1 条评分 DB +10
DB+10

优秀文章

神秘组织,关注网络信息安全
繁华de都市

ZxID:2491893

等级: 贵宾

举报 只看该作者 沙发   发表于: 2010-05-07 0
Re:命令与教程-for .加精 - - !!
感谢分享
书山有路勤为径 学海无涯苦作舟
v゛__絶情ヽ

ZxID:11727169

等级: 大校
举报 只看该作者 板凳   发表于: 2010-05-08 0
Re:命令与教程-for .加精 - - !!
么有看懂
« 返回列表
发帖 回复