在上节中我们介绍了 for 语句的基础用法。本节将介绍 for /D 扩展的具体用法。
如果启用命令扩展,则 for 语句支持 /D 扩展,语法如下:
FOR /D %variable IN (set) DO command [command-parameters]
for语句默认将会匹配文件名。如果添加了 /D 扩展命令,则该 for 语句与目录名匹配,而不与文件名匹配。实例:
@echo off REM 匹配当前目录下面的文件名 echo 第一个 for 语句 for %%i in (*) do echo "%%i" REM 匹配当前目录下面的目录名 echo 第二个 for 语句 for /D %%i in (*) do echo "%%i" pause
输出结果:
C:\Users\Administrator\Desktop> test.bat 第一个 for 语句 "for.txt" "test.bat" 第二个 for 语句 "tmp" 请按任意键继续. . .
实例:搜索 C 盘下的所有目录,但是不包含子目录。
@echo off for /D %%i in (C:/*) do echo "%%i" pause
输出结果:
C:\Users\Administrator\Desktop>test.bat "C:AMD" "C:EFI" "C:Intel" "C:PerfLogs" "C:Program Files" "C:Program Files (x86)" "C:Python38" "C:Users" "C:Windows" 请按任意键继续. . .
实例:搜索当前目录下面的所有目录,但是不包含子目录。
@echo off for /D %%i in (*) do echo "%%i" pause
输出结果:
C:\Users\Administrator\Desktop> test.bat "tmp" 请按任意键继续. . .