首页/系统/Windows 运维速查/dir 列出目录内容
CMD 常用命令74 条

dir 列出目录内容

CMD 最常用的目录列表命令:显示文件与子目录清单,支持通配符、递归、排序与隐藏项开关,是文件排查第一步。

Windows 运维速查系统更新于 2026-10-13

dir 是什么

dir(directory 的缩写)是 Windows 命令提示符下最基础的目录列表命令,列出指定目录里的文件、子目录及其大小与时间戳。它支持通配符、属性筛选、递归遍历与多种排序,是文件排查、容量确认和批量清点的第一步。纯 CMD 环境、批处理脚本和远程命令行会话里都随手可用。需要留意的是,在 PowerShell 里 dir 只是 Get-ChildItem 的别名,输出的是对象而不是文本,两者行为并不相同。

基本信息

适用平台Windows CMD(Windows 7 及以上;PowerShell 中的 dir 为别名)
语法dir [盘符:][路径][文件名] [/A[:属性]] [/B] [/S] [/O[:排序]] [/T[:时间字段]] [/P] [/W]
常用参数/A 按属性筛选(h 隐藏、s 系统、d 目录、- 取反)、/S 递归、/B 简洁模式、/O 排序、/T 选时间字段、/P 分屏
默认行为不显示隐藏与系统文件,按名称排序,末尾输出合计行
输出构成日期时间、<DIR> 标记或文件字节数、文件名,末尾 File(s) 与 Dir(s) 统计

典型使用场景

  • 确认目录里到底有哪些条目,排查「明明有文件却看不到」时加 /A
  • 按修改时间倒序查看最近被改动的文件(/O-D /T:W)定位异常变更
  • 递归列出某类文件的完整路径(/S /B *.log)交给其它命令继续处理
  • 统计目录下的文件数量与总大小,快速判断空间占用
  • 在批处理里判断某类文件是否存在,配合 if exist 或 for 循环使用
  • 清理前的预演:把删除命令的参数原样加给 dir,先看清会命中哪些文件

常用示例

常用示例
dir
:: 显示全部条目,含隐藏与系统文件,按修改时间从新到旧
dir /A /O-D
:: 递归只列 .log 文件的完整路径
dir /S /B *.log
:: 只看文件、不看目录,按大小从大到小排
dir /A:-D /O-S
:: 分屏查看,避免刷屏
dir /P
:: 用 for 统计文件总数
dir /S /B /A-D > %TEMP%\list.txt
find /c /v "" %TEMP%\list.txt

输出逐列读法

列或字段含义异常判断
日期时间条目的修改时间;用 /T 可切换创建时间(C)、访问时间(A)、修改时间(W)时间与预期严重不符说明数据被改过或被还原
<DIR>该条目是目录,目录不显示大小目录被误判成文件时先看这一列
字节数文件的逻辑大小出现远大于预期的单个文件时优先核查
文件名条目名称,含扩展名;含空格时需引号包裹出现乱码或超长命名时优先排查
File(s)命中的文件数量与字节合计与外部统计对不上时先怀疑隐藏项被排除
Dir(s)命中的子目录数量与所在卷可用空间可用空间接近 0 就是写失败排查的起点
漏文件排查的固定动作:默认不显示隐藏与系统属性的条目,怀疑有文件却看不到时先加 /A。共享目录和 U 盘上利用隐藏属性藏文件是常见手法。
dir 的列宽随系统语言与终端宽度变化,中英文系统的输出列不同,按行号或字符位置解析很容易碎。需要稳定字段请用 PowerShell 取对象属性或使用 forfiles。

属性与排序参数

参数取值说明
/Ad 目录、h 隐藏、s 系统、r 只读、a 存档可叠加,单独写 /A 表示显示全部属性条目
/A 取反如 /A:-D 表示排除目录负号写在属性字母前表示取反
/On 名称、s 大小、e 扩展名、d 时间、g 目录优先前面加负号即倒序,如 /O-S 按大小从大到小
/Tc 创建时间、a 访问时间、w 修改时间与 /O 搭配决定按哪个时间字段排序
/B只输出路径,去掉表头与合计行结果便于交给其它命令或写入文件
/S递归所有子目录范围大时先限定起始路径,避免全盘扫描
在 PowerShell 里执行 dir 得到的是 FileInfo 与 DirectoryInfo 对象,可直接访问 Length、LastWriteTime 等属性;此时 /A、/S 这类 CMD 开关不再适用,应改用 -Force、-Recurse 与 -Filter。

易错点

  • 脚本解析 dir 的文本输出,会随语言、终端宽度和文件数变化而失效;结构化处理应改用 Get-ChildItem 返回的对象属性
  • 忘记加 /A 会漏掉隐藏与系统文件,排查「文件不见了」时容易误判为数据丢失
  • dir /S /B 在超大目录树上会输出几十万行并刷爆控制台,先重定向到文件或限定子目录范围
  • 末尾的空闲空间统计来自所在卷而非该目录,比较多个目录占用时不能直接相减
  • 把 dir 的输出重定向后,文件里含有本地化文字(如合计行),跨语言环境解析会失败

数据来源与参考

  • Microsoft Learn:dir 命令(Windows Commands)
  • Windows Server 命令行参考

相关工具

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