系统学习 Windows 学习路径:从 CMD 到 PowerShell、系统网络,再到 WSL 与 Server

dir

列出目录中的文件和子目录,按属性筛选、按时间或大小排序。

补充说明

dir 读取指定目录(默认当前目录)并输出条目名称、日期、大小等元数据,解决“这里有什么、哪些是隐藏文件、谁占的空间最大、某批文件什么时候落盘”的现场判断。它默认不显示隐藏和系统文件,也不递归;加 /A 才能看到全部属性,加 /S 才进入子目录。

边界:dir 只做列举,不做内容搜索或体积统计;递归找内容用 findstr /S,统计实际占用看资源管理器或 PowerShell。dir /S 会把各层子目录的匹配项一起列出,但不去重,也不适合作为稳定的机器接口。输出受列宽、区域设置和属性过滤影响,管道或重定向时先用 /B 和 /A:-D 收敛为纯文件名。

Windows 10/11 与 Server 2016+ 的 dir 参数基本一致。CMD 的 dir 是内部命令;PowerShell 中 dir 是 Get-ChildItem 的别名,/A、/O、/T 这些开关不能照搬,需要改用 -Force、-Filter 等参数。

常用示例

# 1. 只列隐藏项,确认目录里是否有被隐藏的配置文件
C:\> dir /A:H /B "%USERPROFILE%"

# 2. 排除目录,按修改时间从旧到新看日志
C:\> dir /A:-D /O:D C:\logs\*.log

# 3. 递归列出所有 .cs 文件,输出纯路径供其他工具处理
C:\> dir /S /B /A:-D C:\Projects\*.cs > C:\temp\cs-files.txt

# 4. 查看重解析点(符号链接、junction)及其所有者
C:\> dir /Q /A:L C:\Users\me\AppData\Local

# 5. 按创建时间排序,判断一批文件是什么时候落盘的
C:\> dir /T:C /O:D C:\Users\me\Downloads

# 6. 查看文件的备用数据流(下载来源标记等)
C:\> dir /R C:\temp\downloaded.zip

# 7. 显示长文件名的 8.3 短名,解释通配符为什么多匹配
C:\> dir /X "C:\Program Files"

易错点与排错

相关命令

参考链接

读完自测

合上页面,先回答,再展开对照。

  1. 为什么 dir t97* 会多列出 t.txt2?
  2. dir 默认看不到哪两类文件?怎样一次列出全部?
  3. 把 dir /S 输出重定向给脚本前,为什么要加 /A:-D /B?
答案
  1. * 会按 8.3 短名匹配,t.txt2 的短名 T97B4~1.TXT 也符合 t97*;用 dir /X 可看到。
  2. 隐藏文件和系统文件;dir /A(不带属性)会列出全部。
  3. /A:-D 排除目录名,/B 去掉表头和汇总;否则脚本无法按行得到纯文件路径。
微信小程序码:扫码打开命令速查小程序

小程序版

微信扫码,随时查命令