首页/系统/Windows 运维速查/for /r /d 递归遍历目录
CMD 常用命令74 条

for /r /d 递归遍历目录

递归遍历目录树或只遍历目录:批量处理日志、统计目录结构时比 dir 解析更可控。

Windows 运维速查系统更新于 2026-10-12
用途递归文件/目录遍历
语法for /r [根] %f in (模式) do 命令;for /d %d in (*) do 命令

常用示例

常用示例
REM 递归列出所有 .log 的完整路径
for /r D:\logs %f in (*.log) do echo %f
REM 只遍历一级子目录名
for /d %d in (D:\www\*) do echo %d
REM 批处理中统计文件数
set /a n=0
for /r D:\data %%f in (*.dat) do set /a n+=1
echo 共 %n% 个
路径含空格时命令里给 %f 加引号;枚举结果多时先重定向到文件再分析。

易错点

  • /r 从指定根递归整个子树,根目录选得太高会跑很久,先用小目录验证
  • 块内统计计数忘记延迟展开会得到错误结果(set /a 在块内需 !n!)

数据来源与参考

  • Microsoft Learn:for /r 与 for /d 语法

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌