Windows系统命令dir使用详解
Windows系统命令dir
dir命令是Windows系统常用的命令。显示目录的文件和子目录的列表。如果不使用参数,此命令将显示磁盘的卷标和序列号,然后是磁盘上的目录和文件列表(包括它们的名称以及每个文件最后修改的日期和时间)。对于文件,此命令显示名称扩展名和大小(以字节为单位)。此命令还显示列出的文件和目录的总数、它们的累积大小以及磁盘上剩余的可用空间(以字节为单位)。dir 命令也可以使用不同的参数从 Windows 故障恢复控制台运行。有关详细信息,请参阅 Windows 恢复环境 (WinRE)。
1. 语法(Syntax)
dir [<drive>:][<path>][<filename>] [...] [/p] [/q] [/w] [/d] [/a[[:]<attributes>]][/o[[:]<sortorder>]] [/t[[:]<timefield>]] [/s] [/b] [/l] [/n] [/x] [/c] [/4] [/r]
2. 参数(Parameters)
Parameter | Description |
---|---|
[<drive>:][<path>] | 指定要查看其列表的驱动器和目录 |
[<filename>] | 指定要查看其列表的特定文件或文件组。 |
/p | 一次显示一屏列表。要查看下一个屏幕,请按任意键。 |
/q | 显示文件所有权信息 |
/w | 以宽格式显示列表,每行最多包含五个文件名或目录名 |
/d | 以与 /w 相同的格式显示列表,但文件按列排序。 |
/a[[:]<attributes> ] | 仅显示具有您指定属性的目录和文件的名称。如果不使用此参数,该命令将显示除隐藏文件和系统文件之外的所有文件的名称。如果使用此参数而不指定任何属性,该命令将显示所有文件的名称,包括隐藏文件和系统文件。可能的属性值列表是:d - 目录 - 隐藏文件 - 系统文件 - 重新解析点 - 只读文件 a - 准备归档的文件 - 非内容索引文件您可以使用这些值的任意组合,但不要分隔您的值使用空格。或者,您可以使用冒号 (😃 分隔符,或者您可以使用连字符 (-) 作为前缀来表示“非”。例如,使用 -s 属性不会显示系统文件。 |
/o[[:]<sortorder> ] | 根据 sortorder 对输出进行排序,它可以是以下值的任意组合:n - 按名称字母顺序排列排序顺序多个值按照您列出它们的顺序进行处理。不要用空格分隔多个值,但您可以选择使用冒号 (😃。如果未指定 sortorder,则 dir /o 按字母顺序列出目录,然后是文件,这些文件也按字母顺序排序。 |
/t[[:]<timefield> ] | 指定要显示或用于排序的时间字段。可用的时间字段值为:c - Creationa - 最后访问w - 最后写入 |
/s | 列出指定目录和所有子目录中指定文件名的每次出现。 |
/b | 显示目录和文件的裸列表,没有其他信息。 /b 参数覆盖 /w。 |
/l | 使用小写显示未排序的目录名和文件名。 |
/n | 在屏幕的最右侧显示带有文件名的长列表格式。 |
/x | 显示为非 8dot3 文件名生成的短名称。显示与 /n 的显示相同,但在长名称之前插入短名称。 |
/c | 以文件大小显示千位分隔符。这是默认行为。使用 /-c 隐藏分隔符。 |
/4 | 以四位数格式显示年份。 |
/r | 显示文件的备用数据流。 |
/? | 在命令提示符处显示帮助。 |
3. 备注(Remarks)
-
要使用多个文件名参数,请用空格、逗号或分号分隔每个文件名。
-
您可以使用通配符(* 或 ?)来表示文件名的一个或多个字符并显示文件或子目录的子集。
-
您可以使用通配符 * 来替换任何字符串,例如:
[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
2022/05/20 01:40:40 PM <DIR> .
2022/05/20 01:40 PM <DIR> ..
2022/05/20 11:05 AM 0 T97B4~1.TXT t.txt2
2022/05/20 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。
-
如果在属性中使用带有多个值的 /a,则此命令仅显示具有所有指定属性的那些文件的名称。例如,如果您使用带有 r 和 -h 作为属性的 /a(通过使用 /a:r-h 或 /ar-h),则此命令将仅显示未隐藏的只读文件的名称。
-
如果您指定了多个 sortorder 值,此命令将按第一个条件对文件名进行排序,然后按第二个条件,依此类推。例如,如果您将 /o 与 e 和 -s 参数一起用于 sortorder(通过使用 /o:e-s 或 /oe-s),此命令将按扩展名对目录和文件的名称进行排序,最大的在前,然后然后显示最终结果。按扩展名的字母排序导致首先出现没有扩展名的文件名,然后是目录名,然后是带扩展名的文件名。
-
如果您使用重定向符号 (>) 将此命令的输出发送到文件,或者如果您使用管道 (|) 将此命令的输出发送到另一个命令,则必须使用 /a:-d 和 /b 才能仅列出文件名。您可以使用带有 /b 和 /s 的文件名来指定此命令将在当前目录及其子目录中搜索与文件名匹配的所有文件名。此命令仅列出它找到的每个文件名的驱动器号、目录名、文件名和文件扩展名(每行一个路径)。在使用管道将此命令的输出发送到另一个命令之前,应在 Autoexec.nt 文件中设置 TEMP 环境变量。
4. 举例说明
要按字母顺序、宽格式并在每个屏幕后暂停显示所有目录,请确保根目录是当前目录,然后键入:
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 目录不存在。在这种情况下,会出现以下消息:
File creation error
要显示驱动器 C 上所有目录中所有扩展名为 .txt 的文件名的列表,请键入:
dir c:\*.txt /w/o/s/p
dir 命令以宽格式显示每个目录中匹配文件名的字母顺序列表,每次屏幕填满时它都会暂停,直到您按任意键继续。
更多推荐
所有评论(0)