for命令详解(上)

for命令是一个比较复杂的命令,主要用于参数在指定的范围内循环执行命令。
批处理文件中使用FOR命令时,指定变量请使用%%variable
一,for用
for { %%variable|%%variable } in (set) do command [ CommandLineOptions]
%%variable
指定一个单一字母可替换的参数。
(set)
指定一个或一组文件。可以使用通配符。
command
指定对每个文件执行的命令。
command-parameters
为特定命令指定参数或命令行开关。

示例1

@echo off

for %%i in (c d e f) do (

cd /d %%i:

for /f "delims=" %%a in ('dir /s/b *.mp3') do (@echo %%a)

)

exit

搜索CDEF盘上所有的MP3。什么盘?cdef。什么文件?mp3。经过两层过滤检索到了硬盘上所有的MP3
注意1:在批处理件中使用FOR命令时,指定变量请使用%%variable
而不要用%variable。变量名称是区分大小写的。

注意2:空格、跳格、等号、分号都可以作为元素的隔离符号。

注意3do后的括号就可以把多条命令嵌套在里面。

实例1

for %%i in (robin hudashi zhengsheng glen) do (

echo hello,%%i!

echo "how are you?"

)

实例2

for %%i in (robin=hudashi=zhengsheng glen) do (

echo hello,%%i!

echo "how are you?"

)

实例3:列出当前目录下都有哪些文

for %%i in (*.*) do echo "%%i"

实例4列出当前目录下所有的文本文

for %%i in (*.txt) do echo "%%i"

实例5出只用两个字符作为文件名的文本文

for %%i in (??.txt) do echo "%%i"

注意1列出当前目录下各种文件的方法中,最简单的还是用dir命令,但是,从以上代码中,各位可以加深对for语句执行流程的理解(用到了通配符*?);

注意2以上代码不能列出含有隐藏或系统属性的文

注意3:上面列出当前目录下文的命令,并不会列出子目录下的文

如果命令扩展名被启用,下列额外的FOR命令格式会受到
支持:
二,for /D用法
FOR /D %variable IN (set) DO command [command-parameters]

如果集中包含通配符,则指定与目录名匹配,而不与文件
名匹配。
三,for /R用法
FOR /R [[drive:]path] %variable IN (set) DO command [command-parameters]

检查以[drive:]path为根的目录树,指向每个目录中的
FOR
语句。如果在/R后没有指定目录,则使用当前
目录。如果集仅为一个单点(.)字符,则枚举该目录树。
实例6列出G:\projects\work目录下所有的文本文

for /r G:\projects\work %%i in (*.txt) DO (@echo %%i)

四,for /L用法

FOR /L %variable IN (start,step,end) DO command [command-para]
该集表示以增量形式从开始到结束的一个数字序列。
因此,(1,1,5)将产生序列1 2 3 4 5(5,-1,1)将产生
序列(5 4 3 2 1)
实例7

for /L %%i in (1 1 5) DO (@echo NO:%%i)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值