文档介绍:产妇可以吃什么水果 http://chanfu. 大码女装 什么好看 http://pangmm. 淘宝网牛仔 http://ku. 服装搭配的技巧 装 http://shishang. 时尚女装品牌有哪些今年最流行的发型 http://faxing. 淘宝网首页登录配 肤知识 http://meirong. 美容护肤品牌排行榜雪纺连衣裙 http://lianyiqun. 怎样化妆 http://huazhuang. 化妆品排行榜化妆品批发女包品牌大全 http://bao. 高跟凉鞋 http://liangxie. 美白产品哪个最好http://meibai.
CMD命令的高级教程精选讲解操作
DOS循环:for命令详解
讲FOR之前呢,咋先告诉各位新手朋友,如果你有什么命令不懂,直接在CMD下面输入:
name /? 这样的格式来看系统给出的帮助文件,比如for /? 就会把FOR命令的帮助全部显示出来!当然许多菜鸟都看不懂....所以才会有那么多批处理文章!!!!俺也照顾菜鸟,把FOR命令用我自己的方式说明下!
正式开始:
一、基本格式
FOR %%variable IN (set) mand [command-parameters]
   %%variable   指定一个单一字母表示可替换的参数。
   (set)    指定一个或一组文件。可以使用通配符。
   command 指定对每个文件执行的命令。
   command-parameters
         为特定命令指定参数或命令行开关。
参数:FOR有4个参数/d /l /r /f 他们的作用我在下面用例子解释
现在开始讲每个参数的意思
二、参数/d
FOR /D %%variable IN (set) mand [command-parameters]
如果集中包含通配符,则指定与目录名匹配,而不与文件
名匹配。
如果 Set (也就是我上面写的"相关文件或命令") 包含通配符(* 和?),将对与 Set 相匹配的每个目录(而不是指定目录中的文件组)mand。
这个参数主要用于目录搜索,不会搜索文件,看这样的例子
***@echo off
for /d %%i in (c:\*) do echo %%i
pause
运行会把C盘根目录下的全部目录名字打印出来,而文件名字一个也不显示!
在来一个,比如我们要把当前路径下文件夹的名字只有1-3个字母的打出来
***@echo off
for /d %%i in (???) do echo %%i
pause
这样的话如果你当前目录下有目录名字只有1-3个字母的,就会显示出来,没有就不显示了
这里解释下*号和?号的作用,*号表示任意N个字符,而?号只表示任意一个字符
知道作用了,给大家个思考题目!
***@echo off
for /d %%i in (window?) do echo %%i
pause
保存到C盘下执行,会显示什么呢?自己看吧! 显示:windows
/D参数只能显示当前目录下的目录名字,这个大家要注意!
三、参数/R
FOR /R [[drive:]path] %%variable IN (set) mand [command-parameters]
检查以[drive:]path 为根的目录树,指向每个目录中的
FOR 语句。如果在/R 后没有指定目录,则使用当前
目录。如果集仅为一个单点(.)字符,则枚举该目录树。
递归
上面我们知道,/D只能显示当前路径下的目录名字,那么现在这个/R也是和目录有关,他能干嘛呢?放心他比/D强大多了!
他可以把当前或者你指定路径下的文件名字全部读取,注意是文件名字,有什么用看例子!
请注意2点:
1、set中的文件名如果含有通配符(?或*),则列举/R参数指定的目录及其下面的所用子目录中与set相符合的所有文件,无相符文件的目录则不列举。
2、相反,如果set中为具体文件名,不含通配符,则枚举该目录树(即列举该目录及其下面的所有子目录),而不管set中的指定文件是否存在。这与前面所说的单点(.)枚举目录树是一个道理,单点代表当前目录,也可视为一个文件。
例:
***@echo off
for /r c:\ %%i in (*.exe) do echo %%i
pause
咱们把这个BAT保存到D盘随便哪里然后执行,我会就会看到,他把C盘根目录,和每个目录的子目录下面全部的EXE文件都列出来了!!!!
例:
***@echo off
for /r %%i in (*.exe) do ***@echo %%i
pause
参数不一样了吧!这个命令前面没加那个C:\也就是搜