在上节中我们介绍了 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"
请按任意键继续. . .