WindowsWindows中解析DOS的DIR命令使用

Posted David Wu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WindowsWindows中解析DOS的DIR命令使用相关的知识,希望对你有一定的参考价值。

总结一下cmd中的dir命令的用法

64位win10系统上,打印帮助文档。

D:\\test>dir /?
显示目录中的文件和子目录列表。

DIR [drive:][path][filename] [/A[[:]attributes]] [/B] [/C] [/D] [/L] [/N]
  [/O[[:]sortorder]] [/P] [/Q] [/R] [/S] [/T[[:]timefield]] [/W] [/X] [/4]

  [drive:][path][filename]
              指定要列出的驱动器、目录和/或文件。

  /A          显示具有指定属性的文件。
  属性         D  目录                R  只读文件
               H  隐藏文件            A  准备存档的文件
               S  系统文件            I  无内容索引文件
               L  解析点             -  表示“否”的前缀
  /B          使用空格式(没有标题信息或摘要)。
  /C          在文件大小中显示千位数分隔符。这是默认值。用 /-C 来
              禁用分隔符显示。
  /D          跟宽式相同,但文件是按栏分类列出的。
  /L          用小写。
  /N          新的长列表格式,其中文件名在最右边。
  /O          用分类顺序列出文件。
  排列顺序     N  按名称(字母顺序)     S  按大小(从小到大)
               E  按扩展名(字母顺序)   D  按日期/时间(从先到后)
               G  组目录优先           -  反转顺序的前缀
  /P          在每个信息屏幕后暂停。
  /Q          显示文件所有者。
  /R          显示文件的备用数据流。
  /S          显示指定目录和所有子目录中的文件。
  /T          控制显示或用来分类的时间字符域。
  时间段      C  创建时间
              A  上次访问时间
              W  上次写入的时间
  /W          用宽列表格式。
  /X          显示为非 8.3 文件名产生的短名称。格式是 /N 的格式,
              短名称插在长名称前面。如果没有短名称,在其位置则
              显示空白。
  /4          用四位数字显示年

可以在 DIRCMD 环境变量中预先设定开关。通过添加前缀 - (破折号)

示例:

1、显示当前路径下的所有文件的绝对路径,包含子文件夹中的内容

D:\\test>dir /b /s /o:n /a:a
D:\\test\\a.txt
D:\\test\\b.txt
D:\\test\\c.txt
D:\\test\\a\\a.txt
D:\\test\\b\\b.txt
D:\\test\\c\\c.txt

说明:

/b表示去除摘要信息,且顶格显示完整路径
/s表示枚举嵌套文件夹中的内容
/o:n 表示根据文件名排序
/a:a 表示只枚举文件而不枚举其他

备注:单独dir /b与dir /s 都不会显示完整路径,只有这两个组合才会显示完整路径。

2、显示当前路径下所有文件的目录的绝对路径

D:\\test>dir /b /s /a:d
D:\\test\\a
D:\\test\\b
D:\\test\\c

3、显示当前目录下所有的指定文件名称

当然这里也可以查找模糊查询,如*.txt

D:\\test>dir /p/s a.txt
 驱动器 D 中的卷没有标签。
 卷的序列号是 0006-7E93

 D:\\test 的目录

2016/10/14  16:59                 3 a.txt
               1 个文件              3 字节

 D:\\test\\a 的目录

2016/10/14  16:59                 3 a.txt
               1 个文件              3 字节

     所列文件总数:
               2 个文件              6 字节
               0 个目录 94,208,172,032 可用字节

嵌套文件夹下的所有的内容都被查询出来。

 

4、遍历当前文件夹下的所有的文件名

@echo off
rem 启用延迟变量
setlocal enabledelayedexpansion  
set /a v=1
for /f "delims=/" %%i in (\'dir /b/a-d/oN *.*\') do (
    set /a v+=1
    @echo 第!v!个文件名:%%i
)
pause

这里之所以使用/作为分割符,是因为文件名是不能使用/符号的。分割必然得到的是一个完整的名称。如果只想得到文件名,去除文件后缀,可以进行如下修改:

@echo off
rem 启用延迟变量
setlocal enabledelayedexpansion  
set /a v=1
for /f "delims=." %%i in (\'dir /b/a-d/oN *.*\') do (
    set /a v+=1
    @echo 第!v!个文件名:%%i
)
pause

这里使用"."作为分割符,就是为了就是为了只显示文件的名称,但是如果一个文件名中有几个“.”符号的话,那么上面这种方法就不适用了。

 

原文链接:windows的dir命令

以上是关于WindowsWindows中解析DOS的DIR命令使用的主要内容,如果未能解决你的问题,请参考以下文章

windowswindows server 系统管理的快捷命令

windowsWindows电脑怎么卸载服务/删除服务?

windows dir改成ls

dos里面的基本命令

D盘里的一个文件叫新建文件夹,在DOS里用DIR命令怎么显示是乱码?

dos指令 获取当前目录下所有文件命令解析