批处理语言

来源:百度知道 编辑:UC知道 时间:2024/05/05 15:05:58
首先申明我是菜鸟!请教批处理语言

谁能告诉我 For语句后面加的/R 或/D 或/L 有什么区别分别要来做什么不同的命令?

你可以在CMD命令行下输入for /?来了解啊。.

我这里就你提的这个问题说一下.
FOR /D 是遍厉目录.查找目录.
FOR /R 是遍厉文件,查找文件的
FOR /L 是循环,按一定的数字递增或者减..

for /d %%a in (c:\*) do echo %%a
将会列出C盘根目录下的目录列表
for /r %%a in (c:\*.*) do echo %%a
将会列出C盘下的所有文件
for /l %%a in (1 1 5) do echo %%a
每此递增1,直到5

语法
for {%variable|%%variable} in (set) do command [ CommandLineOptions]
set 参数可以代表单个或多个文件组。可以使用通配符(即,* 和 ?)指定文件组。如果命令扩展名处于启用状态(即,默认设置),则支持 for 的下列其它形式:

1、仅为目录
如果 set 包含通配符(* 和 ?),则为匹配 set 的每个目录(而不是指定目录中的文件组)而执行指定的 command。语法是:
for /D {%% | %}variable in (set) do command [CommandLineOptions]

2、递归
进入根目录树 [Drive:]Path,在树的每个目录中执行 for 语句。如果在 /R 后没有指定目录,则假定为当前目录。如果 set 只是一个句号 (.),则只列举目录树。语法是:
for /R [[Drive :]Path] {%% | %}variable in (set) do command [CommandLineOptions]

3、重复数值范围
使用迭代变量设置起始值 (start#) ,然后一步步执行一系列设置范围的值,直到该值超过设置的终止值 (end#)。/L 将通过对 start# 与 end# 进行比较,执行迭代变量。如果 start# 小于 end#,就会执行该命令。