FOR语句分类讲解 /D参数
1、标准说明:
FOR %%var IN (set) DO command [parameters] %%var 指定字母参数。(什么都可以) (set) 指定集合。可以使用通配符(*?)。 command 指定对每个元素执行的命令。 parameters ---特定命令指定参数。 这里先讲参数 /d FOR /D %%var IN (set) DO command [parameters] set---集合,用于/D参数为多组目录名,换言之,只能用于文件夹,不用于文件。 Set 包含通配符(* 和 ?),将对与 Set 相匹配的每个目录(而不是指定目录中的文件组)执行指定的 Command。

2、先按Win+R(windows徽标和R一起按),再输入cmd。
弹出cmd窗口

3、输入
for /d %e in (D:\*) do echo %e---成果:

4、如果用bat,千万注意要加上%%e即
1. @echo off
2. for /d %%e in (D:\*) do echo %%e
3. Pause

5、不然会有结果:

6、另外:set---如果在“D:\*”部分【例:for /d %e in (D:\*) do echo %e】
改成S*----似乎以为指S开头的文件夹,可结果:
什么也没有------没找到-
可能有人认为是set错误,毕竟说明是“搜索的仅仅是目录名,而非文件夹名”

7、其实这是一种省略的方法,不加文件夹目录,默认为当前目录:
for /d %e in (*) do echo %e
等价于for /d %e in (当前目录\*) do echo %e
那么------其实是C:\里面没有S开头文件夹的名字

8、如此同理:搜索当前路径下目录的名字,有1-6个字母的打出来
即a
Ab
Abc
abcde.....均可
1. @echo off
2. for /d %%i in (??????) do echo %%i
3. Pause
解释:*号和?号的作用,*号表示任意N个字符,而?号只表示任意一个字符

9、知道作用了,给大家个思考题目!
1. @echo off
2. for /d %%i in (window?) do echo %%i
3. pause
这个结果又如何:记得前面讲过,?代表一个字符,那么
Windows
Windowa
Windowb
。。。。。均可,
md命令:-创建文件夹
