列出目录中的文件和子目录,按属性筛选、按时间或大小排序。
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"
* 会利用 8.3 短名匹配:官方例子中 dir t97* 会同时列出 t97.txt 和短名为 T97B4~1.TXT 的 t.txt2,del t97* 也会多删。验证:先 dir /X t97* 看短名,再决定是否删除。/A 不带属性表示全部,/A:H 只要隐藏,/A:-D 排除目录。验证:对比 dir 与 dir /A 的条目数。/A:-D /B 只输出文件名。验证:把结果导入脚本前先看前几行。/T:C 是创建时间,复制、解压、下载后常被重置,不代表原始生成时间;判断最近变更应看 /T:W。验证:分别执行 /T:C 和 /T:W 两次对比。dir 显示的是逻辑字节数,压缩或稀疏文件的磁盘占用可能更小;目录条目的大小也不是目录内容总大小。验证:与资源管理器的“大小 / 占用空间”对比。dir /A 会报参数错误,因为 dir 是 Get-ChildItem 的别名;改用 Get-ChildItem -Force。验证:Get-Command dir。合上页面,先回答,再展开对照。
dir t97* 会多列出 t.txt2?dir 默认看不到哪两类文件?怎样一次列出全部?dir /S 输出重定向给脚本前,为什么要加 /A:-D /B?* 会按 8.3 短名匹配,t.txt2 的短名 T97B4~1.TXT 也符合 t97*;用 dir /X 可看到。dir /A(不带属性)会列出全部。/A:-D 排除目录名,/B 去掉表头和汇总;否则脚本无法按行得到纯文件路径。
小程序版
微信扫码,随时查命令