dir 是 Windows 操作系统中最基础、最常用的命令之一,它的作用是列出目录中的文件和子文件夹,它的功能远不止于此,通过添加不同的参数,可以实现对文件列表的高度定制化。

dir 命令基础用法
我们打开命令提示符(CMD),按 Win + R,输入 cmd,然后回车。
最简单的用法
在命令提示符窗口中,直接输入 dir 并回车。
dir
这会列出当前所在目录下的所有文件和文件夹,并显示:
- 卷标和序列号
- 目录中文件的列表(包含文件名、扩展名、大小、最后修改日期和时间)
- 目录中子文件夹的数量
- 文件的总数和总大小
- 可用磁盘空间
列出指定目录的内容
如果你想查看其他目录的内容,可以在 dir 后面跟上路径。

# 列出 C �根目录下的内容 dir C:\ # 列出 D 盘 "My Documents" 文件夹的内容 dir "D:\My Documents"
注意:如果路径中包含空格(如
My Documents),需要用英文双引号 括起来。
dir 命令与 .txt 文件的结合使用
这是你问题的核心,我们有两种方式将 dir 的结果与 .txt 文件关联起来:
- 列出特定目录下的所有
.txt文件。 - 将
dir命令的输出结果保存到一个.txt文件中,便于查看和分享。
只列出 .txt 文件
使用 /A (Attributes) 和 /O (Order) 参数,但最简单的方法是使用通配符 。
列出当前目录下所有 .txt 文件

dir *.txt
- 是一个通配符,代表任意长度的任意字符。
*.txt的意思是:所有以.txt结尾的文件。
列出指定路径下所有 .txt 文件
dir D:\MyFiles\*.txt
列出所有文件名以 "report" 开头的 .txt 文件
dir report*.txt
列出所有文件名包含 "2025" 的 .txt 文件
dir *2025*.txt
将 dir 的输出结果保存到 .txt 文件中
这在需要备份目录列表、记录文件信息或通过邮件发送时非常有用,使用重定向符号 >。
将当前目录的列表保存到 list.txt 文件中
dir > list.txt
>是输出重定向符号,它会将dir命令的输出结果覆盖写入到list.txt文件中。list.txt已存在,它将被清空后重新写入。
将结果追加到 list.txt 文件中
dir >> list.txt
>>是追加符号,它会在list.txt文件的末尾添加新的内容,而不会覆盖原有内容,这对于多次运行命令并记录结果很有用。
将指定目录的列表保存到 .txt 文件
dir "D:\My Documents" > D:\backup\doc_list.txt
- 你可以指定输出文件的完整路径和名称。
将所有 .txt 文件的列表保存到 txt_files.txt 中
dir *.txt > txt_files.txt
常用 dir 参数详解(让输出更强大)
为了更好地管理和查看 .txt 文件(或其他任何文件),你可以组合使用以下参数:
| 参数 | 全称 | 描述 | 示例 |
|---|---|---|---|
/A |
Attributes | 按文件属性筛选。 | dir /A D:\ (列出所有文件,包括隐藏和系统文件) dir /A-D *.txt (列出所有非目录的 .txt 文件) |
/O |
Order | 排序输出结果。 | dir /O-N *.txt (按文件名降序排列,Z -> A) dir /O-S *.txt (按文件大小降序排列,大的在前) dir /O-D *.txt (按日期降序排列,最新的在前) |
/B |
Bare | 简洁格式,只输出文件名,每行一个,非常适合用于脚本。 | dir /B *.txt (只列出所有 .txt 文件名) |
/S |
Subdirectories | 递归列出所有子目录中的文件。 | dir /S *.txt (从当前目录开始,搜索并列出所有子文件夹中的 .txt 文件) |
/P |
Pause | 每显示一屏就暂停,按任意键继续。 | dir /P (当输出内容很多时,防止屏幕滚动太快) |
/W |
Wide | 宽格式,每行显示多个文件名,不显示文件大小、日期等信息。 | dir /W *.txt (以紧凑的网格形式显示文件名) |
综合应用示例
示例1:查找 D 盘所有 .txt 文件,按修改日期从新到旧排序,并保存到 all_txt_files.txt
dir /A-D /O-D /S D:\*.txt > all_txt_files.txt
/A-D: 只列出文件,排除文件夹。/O-D: 按日期降序(最新的在前)排序。/S: 递归搜索所有子目录。D:\*.txt: 搜索路径和文件类型。>: 将结果保存到文件。
示例2:获取当前目录下所有 .txt 文件的纯文件名列表,方便复制粘贴
dir /B *.txt
输出结果会是这样的:
report_2025.txt
notes.txt
todo_list.txt
archive_old.txt
示例3:备份一个重要文件夹的目录结构到 backup_log.txt
dir /A /S "D:\Important Data" > backup_log.txt
/A: 包含所有属性(隐藏、系统、只读等)的文件。/S: 包含所有子文件夹。>: 完整记录到日志文件。
常见问题与解决
问题1:中文文件名或路径显示为乱码? 这通常是因为命令提示符的代码页与文件系统编码不一致,可以尝试临时更改代码页。
# 切换到简体中文GBK编码 chcp 936 # 切换到UTF-8编码(推荐,Windows 10/11 新版CMD默认) chcp 65001
问题2:> 和 >> 有什么区别?
>:覆盖。list.txt存在,其内容将被dir的输出完全替换。>>:追加。list.txt存在,dir的输出将被添加到文件的末尾,如果文件不存在,则会创建新文件。
希望这份详细的指南能帮助你完全掌握 dir 命令与 .txt 文件的用法!
