DOS Dir 命令行操作符语法解释与学习笔记
功能
Dir (directory) 命令 显示目录下文件及子目录的列表,若不接参数,默认显示当前磁盘卷标及序列号
,接下来显示当前目录下文件及子文件夹列表,包含最近修改日期-时间-占用字节数量-名称
. 对于文件,Dir命令包含显示它们的扩展名以及字节大小. Dir命令也显示文件及子目录的数量,累计字节大小,磁盘剩余空间
等.
常用
比如想要获取某个文件夹和所有子文件夹下的文件清单,打开记事本,粘贴以下代码:
dir *.* /s/o/b/a-d-s >ListFiles.txt
然后保存为.bat
结尾的批处理文件如ListFiles.bat
,双击运行该文件即可获取文件清单,清单文件在批处理的同一个文件夹下,名字为ListFiles.txt
。
语法
dir [<Drive>:][<Path>][<FileName>] [...] [/p] [/q] [/w] [/d] [/a[[:]<Attributes>]][/o[[:]<SortOrder>]] [/t[[:]<TimeField>]] [/s] [/b] [/l] [/n] [/x] [/c] [/4]
参数
[<Drive>:][<Path>] 指定需要查看列表的盘符及路径.
[<FileName>] 指定需要查看列表的特定文件或文件组.
/p 每次显示一屏的列表,按任意键查看下一屏.
/q 显示文件所有权信息.
/w 以宽屏多列(需缓冲区宽度支持)格式显示目录及文件列表.
/d 按列排序文件及文件夹列表,宽屏多列显示.
/a[[:]<Attributes>] 仅显示指定类型的文件及子目录名称列表,
如果省略/a,则显示除系统及隐藏文件之外的列表;
若不接属性使用/a,则显示包含系统及隐藏文件的所有文件及目录列表
下面为可用属性列表,冒号可省略,属性可任意组合,中间不加空格:
d 目录
h 隐藏文件
s 系统文件
l 重解析点
r 只读文件
a 预存盘文件
i 无内容索引文件
- 否定前缀
/o[[:]<SortOrder>] 依据排序指令输出列表,以下为可用属性列表(冒号可选):
若未指定属性,dir /o默认按名称字母顺序排列
n 名称字母顺序排列
e 扩展名字母顺序排列
g 组目录优先显示
s 字节数从小到大排列
d 最近修改时间从早到近排序
- 逆序排列前缀
/t[[:]<TimeField>] 按时间属性排列,以下为可用字段:
c 创建时间
a 最近访问时间
w 最近修改时间
/s 列出指定目录下所有文件,包含子目录
/b 只显示指定目录下的目录及文件名, /b将覆盖 /w
/l 以小写字母显示未排序的目录及文件列表
/n 显示按名称字母顺序排列列表
/x 在长名称前面增加显示短名称,名称字母顺序排列
/c 显示千位分隔符,已默认,不显示输入 /-c
/4 显示4位格式的年份
/? 显示帮助
备注
-
若要使用多个文件名参数,用半角
空格
,逗号
或分号
分隔每个文件的名称. -
使用通配符(
*
或?
)来表示文件名中的多个或一个字符,示例:dir *.txt dir read*.txt dir read*.*
-
星号*
通配符始终使用了短名称映射,因此使用它可能会得到意外的结果(如返回映射后的短名称对应文件),所以在使用删除命令del xx*xx
时要格外小心. -
使用多个
问号?
通配符时,将返回问号通配最少到最多个数的情况,如read???.txt
将返回Read.txt
,Read1.txt
,Read12.txt
,Read123.txt
,Readme1.txt
等情况. -
指令中的多个属性一起使用时,将返回同时具备这些属性的文件,例如使用
/a:r-h
或/ar-h
将显示只读且非隐藏的文件. -
文件名排序问题
-
有多个排序指令时,先按第一个条件排列再按之后的条件排列,最后输出结果,例如使用
/o:e-s
或/oe-s
将按扩展名再按占用字节从大到小排列. -
按扩展名排序会先显示无扩展名文件,紧接着目录和带扩展名的文件.
-
-
重定向输出及通道输出
-
当您使用重定向符号(
>
)将dir命令的输出发送到文件或者其他命令的通道(|
)时,使用/a:-d /b
命令只输出文件名称(不包含目录). -
您也可以使用
/b /s
命令行出指定目录下所有目录,子目录及文件的列表.dir
命令将分行列出其查找到的文件驱动器号,目录名,文件名及扩展名. -
当你使用通道将
dir
命令的结果输出到其他命令时,您需要在Autoexec.nt
文件中设置TEMP
环境为可用.
-
-
可以在控制台中使用带不同参数的
dir
命令.
示例
-
常用命令 只输出
C盘Temp文件夹(包含子目录)
下的文件名到C盘根目录下的Index.txt文件
,并排序:dir C:\Temp /s/o/b/a-d-s >C:\Index.txt
-
显示所有目录及文件,字母顺序排列,宽屏多列显示,单屏暂停,输入:
dir /s/w/o/p
-
更改上一个示例,dir命令输出文件名及扩展名,但省略目录名,输入:
dir /s/w/o/p/a:-d
-
打印目录列表,输入:
dir > prn
当指定
prn
时,目录列表将发送到连接到LPT1
端口的打印机.如果打印机连接到另一个端口,则必须使用正确的端口名称替换prn
. -
可以通过用文件名替换
prn
的命令重定向输出到文件,可以在其中键入路径.例如,要将dir
命令结果重定向输出到Records
目录下的文件dir.doc
中保存,输入:dir > \records\dir.doc
如果
dir.doc
不存在,dir命令将创建它,除非Records
目录不存在,在这种情况下,将显示"文件创建失败"的消息. -
要在
驱动器C
上查找所有扩展名为.txt
的文件,输入:dir c:\*.txt /w/o/s/p
此命令将以宽屏多列格式,每个目录按字母顺序排列,单屏暂停的形式输出列表.
date: 2015-04-22
tags: Windows; DOS; cmd; shell; 文件;