@echo off
del c:/list.txt /f /q 2>nul
for %%i in (c: d: e: f: g: h: i:) do dir %%i/ /s /b /ad >>c:/list.txt
echo OK
pause>nul
dir
显示目录文件和子目录列表。如果在没有参数的情况下使用,则 dir 显示磁盘的卷标和序列号,后接磁盘上目录和文件的列表,包括它们的名称和最近修改的日期及时间。dir 可以显示文件的扩展名以及文件的字节大小。Dir 也显示列出的文件及目录的总数、累计大小和磁盘上保留的可用空间(以字节为单位)。
语法
dir [Drive:][Path][FileName] [...] [/p] [/q] [/w] [/d] [/a[[:]attributes]][/o[[:]SortOrder]] [/t[[:]TimeField]] [/s] [/b] [/l] [/n] [/x] [/c] [/4]
参数
[Drive:][Dath]
指定要查看列表的驱动器和目录。
[FileName]
指定要查看列表的特定文件或一组文件。
/p
每次显示一个列表屏幕。要查看下一屏,请按键盘上的任意键。
/q
显示文件所有权信息。
/w
以宽格式显示列表,在每一行上最多显示 5 个文件名或目录名。
/d
与 /w 相同,但是文件按列排序。
/a[[:]attributes]
只显示那些指定属性的目录和文件名称。如果省略 /a,dir 将显示除隐藏文件和系统文件之外的所有文件名。如果在没有指定 attributes 的情况下使用 /a,dir 显示所有文件的名称,包括隐藏文件和系统文件。以下列表描述了每个可用于 attributes 的值。冒号 (:) 是可选的。使用这些值的组合,并且不得用空格分隔这些值。
值
说明
h
隐藏文件
s
系统文件
d
目录
a
准备好存档的文件
r
只读文件
-h
非隐藏的文件
-s
系统文件以外的文件
/d
只是文件(而非目录)
-a
自上次备份后没有更改过的文件
-r
非只读的文件
/o [[:]SortOrder]
控制 dir 排序和显示目录名和文件名的顺序。如果省略 /o,dir 将按它们在目录中出现的顺序显示名称。如果在没有指定 SortOrder 的情况下使用 /o,dir 显示按字母顺序排列的目录名,然后显示按字母顺序排列的文件名。冒号 (:) 是可选的。以下列表描述了每个可用于 SortOrder 的值。使用这些值的任意组合,并不要用空格分隔这些值。
值
说明
n
按名称的字母顺序
e
按扩展名的字母顺序
d
按日期和时间,最早的优先。
s
按大小,最小的优先
g
在文件之前分组的目录
-n
按名称的逆序字母(从 Z 到 A)排序
-e
按扩展名的逆序字母(从 .ZZZ 到 .AAA)排序
/d
按日期和时间,最晚的优先
-s
按大小,最大的优先
-g
在文件之后分组的目录
/t [[:]TimeField]
指定显示或用于排序的时间字段。以下列表描述了每个可用于 TimeField 的值。
值
说明
c
创建
a
上次访问
w
上次写入
/s
列出指定目录及所有子目录中出现的每个指定的文件名。
/b
列出每个目录名或文件名,每行一个(包含文件扩展名)。/b 不显示标题信息或摘要。/b 替代 /w。
/l
按小写字母显示未排序的目录名和文件名。/l 不会将扩展字符转换为小写字符。
/n
显示长列表格式,文件名在屏幕最右边。
/x
显示 NTFS 和 FAT 卷上文件生成的短名称。显示与 /n 的显示相同,但是短名称显示在长名称之后。
/c
按文件大小显示多个分隔符。
/4
显示四位数字的年份格式。
/?
在命令提示符显示帮助。