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 off2. for /d %%e in (D:\*) do echo %%e3. 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个字母的打出来即aAbAbcabcde.....均可1. @echo off2. for /d %%i in (??????) do echo %%i3. Pause 解释:*号和?号的作用,*号表示任意N个字符,而?号只表示任意一个字符
9、知道作用了,给大家个思考题目!1. @echo off2. for /d %%i in (window?) do echo %%i3. pause这个结果又如何:记得前面讲过,?代表一个字符,那么WindowsWindowaWindowb。。。。。均可,md命令:-创建文件夹