dir

显示目录的文件和子目录的列表。 如果未使用参数,此命令将显示磁盘的卷标签和序列号,然后是磁盘上的目录和文件列表, (包括其名称和上次修改的日期和时间) 。 对于文件,此命令显示名称扩展名和大小(以字节为单位)。 此命令还显示列出的文件和目录总数、其累积大小以及磁盘上剩余的可用空间 (字节) 。

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]

参数

参数 说明
[<drive>:][<path>] 指定要在其中查看列表的驱动器和目录。
[<filename>] 指定要在其中查看列表的特定文件或文件组。
/p 一次显示一个列表的一个屏幕。 若要查看下一个屏幕,请按任意键。
/q 显示文件所有权信息。
/W 以宽格式显示列表,每行包含多达五个文件名或目录名称。
/d /w 相同的格式显示列表,但文件按列排序。
/a[[:]<attributes>] 仅显示具有指定属性的目录和文件的名称。 如果不使用此参数,该命令将显示除隐藏文件和系统文件之外的所有文件的名称。 如果在未指定任何 属性的情况下使用此参数,该命令将显示所有文件的名称,包括隐藏文件和系统文件。 可能的 属性值 列表包括:
  • d - 目录
  • h - 隐藏文件
  • s - 系统文件
  • l - 重新分析点
  • r - 只读文件
  • a - 准备存档的文件
  • i - 非内容索引文件
可以使用这些值的任何组合,但不要使用空格分隔值。 (可选)可以使用冒号 (:) 分隔符,也可以使用连字符 (-) 作为前缀来表示“not”。 例如,使用 -s 属性不会显示系统文件。
/o[[:]<sortorder>] 根据 sortorder 对输出进行排序,它可以是以下值的任意组合:
  • n - 按名称按字母顺序排列
  • e - 按扩展名按字母顺序排列
  • g - 首先对目录进行分组
  • s - 按大小,最先小
  • d - 按日期/时间,最早
  • -使用前缀反转排序顺序
按列出这些值的顺序处理多个值。 不要使用空格分隔多个值,但可以选择使用冒号 (:) 。

如果未指定 sortorderdir /o 按字母顺序列出目录,后跟按字母顺序排序的文件。

/t[[:]<timefield>] 指定要显示或用于排序的时间字段。 可用的 时间字段 值为:
  • c - 创建
  • a - 上次访问
  • w - 上次写入
/s 列出指定目录和所有子目录中指定文件名的每个匹配项。
/b 显示目录和文件的裸列表,没有其他信息。 /b 参数替代 /w
/l 使用小写显示未排序的目录名称和文件名。
/n 在屏幕最右侧显示具有文件名的长列表格式。
/x 显示为非 8dot3 文件名生成的短名称。 显示与 /n 的显示相同,但短名称在长名称之前插入。
/c 以文件大小显示千位分隔符。 此选项为默认行为。 使用 /-c 隐藏分隔符。
/4 以四位数格式显示年份。
/r 显示文件的备用数据流。
/? 在命令提示符下显示帮助。

注解

  • 若要使用多个 文件名 参数,请使用空格、逗号或分号分隔每个文件名。

  • 可以使用通配符 (*) 来表示文件名的一个或多个字符,以及显示文件或子目录的子集。

  • 可以使用通配符 *替换任意字符串字符,例如:

    • dir *.txt 列出当前目录中以.txt开头的所有文件,例如 .txt、.txt1 .txt_old。

    • dir read *.txt 列出以读取开头的当前目录中的所有文件,以及以.txt开头的扩展,例如.txt、.txt1 或.txt_old。

    • dir 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.txt、Read1.txt、Read12.txt、Read123.txt和Readme1.txt,但不包括Readme12.txt。

  • 如果在属性中使用 /a 具有多个值,则此命令仅显示具有所有指定属性的文件的名称。 例如,如果使用 /a-h 作为属性 (使用或 /a:r-h/ar-h) ,则此命令将仅显示不隐藏的只读文件的名称。

  • 如果指定多个 排序程序 值,则此命令按第一个条件对文件名进行排序,然后按第二个条件等进行排序。 例如,如果将 /o排序排序 (/o:e-s/oe-s) 的 e-s 参数一起使用,则此命令会按扩展名对目录和文件的名称进行排序,并首先显示最终结果。 按扩展名排序的字母顺序会导致没有扩展名的文件名首先出现,然后显示目录名称,然后使用扩展名的文件名。

  • 如果使用重定向符号 (>) 将此命令的输出发送到文件,或者如果使用管道 (|) 将此命令的输出发送到另一个命令,则必须使用 /a:-d/b 仅列出文件名。 可以将 文件名/b/s 一起使用,以指定此命令是搜索当前目录及其子目录来查找与文件名匹配的所有 文件名。 对于找到的每个文件名,此命令仅列出驱动器号、目录名称、文件名和文件扩展名 (每行一个路径) 。 在使用管道将此命令的输出发送到另一个命令之前,应在 Autoexec.nt 文件中设置 TEMP 环境变量。

示例

若要按字母顺序显示所有目录,按宽格式显示,并在每个屏幕后暂停,请确保根目录是当前目录,然后键入:

dir /s/w/o/p

输出列出了根目录、子目录和根目录中的文件,包括扩展。 此命令还会列出树中每个子目录中的子目录名称和文件名。

若要更改前面的示例,以便 dir 显示文件名和扩展名,但省略目录名称,请键入:

dir /s/w/o/p/a:-d

若要打印目录列表,请键入:

dir > prn

指定 prn 时,目录列表将发送到附加到 LPT1 端口的打印机。 如果打印机附加到其他端口,则必须将 prn 替换为正确的端口的名称。

还可以将 dir 命令的输出重定向到文件,方法是将 prn 替换为文件名。 还可以键入路径。 例如,若要将 dir 输出定向到记录目录中的文件dir.doc,请键入:

dir > \records\dir.doc

如果dir.doc不存在, 则 dir 会创建该目录,除非 记录 目录不存在。 在这种情况下,将显示以下消息:

File creation error

若要在驱动器 C 上的所有目录中显示具有.txt扩展名的所有文件名的列表,请键入:

dir c:\*.txt /w/o/s/p

dir 命令以宽格式显示每个目录中匹配文件名的按字母顺序排列的列表,每次屏幕填充时都会暂停,直到按任何键继续。

其他参考