显示目录的文件和子目录的列表。 如果使用此命令时不带参数,则将显示磁盘的卷标和序列号,后跟磁盘上的目录和文件列表(包括其名称以及上次修改每个目录和文件的日期和时间)。 对于文件,此命令显示扩展名和大小(以字节为单位)。 此命令还显示列出的文件和目录总数、其累积大小以及磁盘上剩余的可用空间(以字节为单位)。
dir 命令还可以使用不同参数从 Windows 恢复控制台运行。 有关详细信息,请参阅
Windows 恢复环境 (WinRE)
。
dir [<drive>:][<path>][<filename>] [...] [/p] [/q] [/w] [/d] [/a[[:]<attributes>]][/o[[:]<sortorder>]] [/t[[:]<timefield>]] [/s] [/b] [/l] [/n] [/x] [/c] [/4] [/r]
/a[[:]<attributes>
]
仅显示具有指定属性的目录和文件的名称。 如果不使用此参数,此命令将显示除隐藏文件和系统文件之外的所有文件的名称。 如果在未指定任何属性的情况下使用此参数,则此命令将显示所有文件的名称,包括隐藏文件和系统文件。 可能的属性值列表包括:- d - 目录
- h - 隐藏文件
- s - 系统文件
- l - 重新分析点
- r - 只读文件
- a - 可用于存档的文件
- i - 非内容索引文件
你可以使用这些值的任意组合,但不要使用空格分隔值。 (可选)可以使用冒号 (:) 分隔符,或者你可以使用连字符 (-) 作为前缀来表示“非”。 例如,使用 -s 属性不会显示系统文件。
/o[[:]<sortorder>
]
根据 sortorder 对输出进行排序,可以是以下值的任意组合:- n - 按名称字母顺序排列
- e - 按扩展名字母顺序排列
- g - 首先列出组目录
- s - 按大小,最先列出最小的文件
- d - 按日期/时间,最先列出最早的文件
- 使用 - 前缀可反转排序顺序
多个值将按照你列出它们的顺序进行处理。 不要用空格分隔多个值,但可以选择使用冒号 (:)。如果未指定 sortorder,则 dir /o 将按字母顺序列出目录,后跟文件,这些文件也按字母顺序排序。
/t[[:]<timefield>
]
指定要显示或用于排序的时间字段。 timefield 的可用值包括:- c - 创建时间
- a - 上次访问时间
- w - 最后写入时间
列出指定目录和所有子目录中出现的指定文件名的每个匹配项。
显示纯粹的目录和文件列表,不含其他信息。 /b 参数将覆盖 /w。
使用小写显示未排序的目录名称和文件名。
在屏幕最右侧显示带有文件名的长列表格式。
显示为非 8dot3 文件名生成的短名称。 显示内容与 /n 的显示内容相同,但短名称插入到长名称之前。
以千位分隔符显示文件大小。 此选项为默认行为。 使用 /-c 隐藏分隔符。
以四位数格式显示年份。
显示文件的备用数据流。
在命令提示符下显示帮助。
若要使用多个 filename 参数,请用空格、逗号或分号分隔每个文件名。
可以使用通配符(* 或 ?)来表示文件名的一个或多个字符,并显示文件或子目录的子集。
可以使用通配符 * 来替换任何字符串,例如:
dir *.txt
将列出当前目录中扩展名以 .txt 开头的所有文件,例如 .txt、.txt1、.txt_old。
dir read *.txt
将列出当前目录中以 read 开头并且扩展名以 .txt 开头的所有文件,例如 .txt、.txt1 或 .txt_old。
dir read *.*
将列出当前目录中以 read 开头的所有文件(无论任何扩展名)。
星号通配符始终使用短文件名映射,因此你可能会得到意外的结果。 例如,以下目录包含两个文件(t.txt2 和 t97.txt):
C:\test>dir /x
Volume in drive C has no label.
Volume Serial Number is B86A-EF32
Directory of C:\test
11/30/2004 01:40 PM <DIR> .
11/30/2004 01:40 PM <DIR> ..
11/30/2004 11:05 AM 0 T97B4~1.TXT t.txt2
11/30/2004 01:16 PM 0 t97.txt
你可能期望键入 dir t97\*
后将返回文件 t97.txt。 但是,键入 dir t97\*
会返回这两个文件,因为星号通配符使用其短名称映射 T97B4~1.TXT,因此会认为文件 t.txt2 与 t97.txt 匹配。 同样,键入 del t97\*
会删除这两个文件。
可以使用问号 (?) 代替名称中的单个字符。 例如,键入 dir read???.txt
会列出当前目录中扩展名为 .txt 的任何文件,这些文件以 read 开头,后跟最多三个字符。 这包括 Read.txt、Read1.txt、Read12.txt、Read123.txt 和 Readme1.txt,但不包括 Readme12.txt。
如果在 attributes 中使用 /a 和多个值,则此命令仅显示具有所有指定属性的文件的名称。 例如,如果将 /a 与 r 和 -h 一起使用作为属性(使用 /a:r-h
或 /ar-h
),则此命令将仅显示未隐藏的只读文件的名称。
如果指定多个 sortorder 值,则此命令将首先按第一个条件对文件名进行排序,然后按第二个条件排序,依此类推。 例如,如果将 /o 与 sortorder 的 e 和 -s 参数一起使用(使用 /o:e-s
或 /oe-s
),则此命令按扩展名对目录和文件的名称进行排序,首先显示最大的文件,然后显示最终结果。 按扩展名按字母顺序排序会导致首先显示没有扩展名的文件名,然后显示目录名称,然后显示带有扩展名的文件名。
如果使用重定向符号 (>
) 将此命令的输出发送到文件,或者使用管道符号 (|
) 将此命令的输出发送到另一个命令,则必须使用 /a:-d
和 /b,以仅列出文件名。 可以将 filename 与 /b 和 /s 一起使用,以指定此命令要在当前目录及其子目录中搜索与 filename 参数匹配的所有文件名。 此命令仅列出它找到的每个文件名的驱动器号、目录名、文件名和文件扩展名(每行一个路径)。 在使用管道符号将此命令的输出发送到另一个命令之前,应首先在 Autoexec.nt 文件中设置 TEMP 环境变量。
若要按字母顺序、宽格式逐个显示所有目录,并在每个屏幕后暂停,请确保根目录是当前目录,然后键入:
dir /s/w/o/p
输出列出了根目录、子目录和根目录中的文件,包括扩展名。 此命令还会列出树中每个子目录中的子目录名称和文件名。
若要更改前面的示例,以便 dir 显示文件名和扩展名,但省略目录名称,请键入:
dir /s/w/o/p/a:-d
要打印目录列表,请键入:
dir > prn
如果指定 prn,则目录列表将发送到连接到 LPT1 端口的打印机。 如果打印机连接到其他端口,则必须将 prn 替换为正确端口的名称。
还可以将 prn 替换为文件名,从而将 dir 命令的输出重定向到文件。 也可以键入路径。 例如,若要将 dir 命令的输出定向到 Records 目录中的 dir.doc 文件,请键入:
dir > \records\dir.doc
如果 dir.doc 不存在,dir 将创建此文件,除非 Records 目录不存在。 如果 Records 目录不存在,将显示以下消息:
File creation error
若要显示驱动器 C 上所有目录中扩展名为.txt 的所有文件名的列表,请键入:
dir c:\*.txt /w/o/s/p
dir 命令以宽格式显示每个目录中按字母顺序排列的匹配文件名列表,并且每次屏幕填满时都会暂停,按任意键可继续显示。
命令行语法项