【Windows】Windows中解析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命令

原文地址:https://www.cnblogs.com/HDK2016/p/8727181.html

时间: 2024-10-11 13:16:03

【Windows】Windows中解析DOS的DIR命令使用的相关文章

关于在phpStudy环境下,windows cmd中 php不是内部命令问题

首先查看system32是否加入系统变量 其次要把当前运行的php版本的路径加入到系统变量中去,path中, 一定要是这个样子的: D:\phpStudy\php\php-5.6.27-nts 不然没有什么用. 这样在phpstorm中以及cmd中都可以使用php命令了. 原文地址:https://www.cnblogs.com/zj-phper/p/9293674.html

在windows中的DOS窗口执行adb shell出错的解决办法

1,首先要检查是否已经配置好环境变量或者在platform-tools目录(adb.exe存在的路径)下执行的adb shell 2,步骤1没问题的话,那么运行:adb kill-server 再执行:adb shell 好了,问题解决(PS:反正我的解决了) 在windows中的DOS窗口执行adb shell出错的解决办法,布布扣,bubuko.com

在windows中,如何使用cmd命令行窗口正确显示编码为utf-8格式的文字

在windows中,如何使用cmd命令行窗口正确显示编码为utf-8格式的文字呢? 正确的步骤如下: 1, 打开cmd命令行窗口 2, 输入命令 >chcp 65001 数字65001代表的是cmd窗口中utf-8格式的编码.cmd窗口默认编码为gbk,数字代码为936 D:\>chcp 65001 Active code page: 65001 3,在cmd窗口标题栏里右键点击,调出右键菜单,点击属性->字体,将字体改成Lucida Console, OK,可以正确显示utf-8编码的

windows系统下在dos命令行kill掉被占用的pid (转)

原文出自:http://www.2cto.com/os/201304/203771.html windows系统下在dos命令行kill掉被占用的pid 1.开始-->运行-->cmd 2.命令行输入: netstat -ano I findstr 端口(被占用的端口号) 3.输入: tasklist | findstr 端口(获取步骤2里面的端口,实际就是拿到了pid) 4.taskkill /pid 端口(步骤3里面的端口) /F 轻松搞定. win7里面的这个服务占用80端口,World

Cmder命令行工具在Windows系统中的配置

一.Cmder简介 Cmder:一款用于Windows系统中,可增强传统cmd命令行工具的控制台模拟器(类似于Linux系统中的终端控制窗口) 特点: 无需安装,解压即用 可使用较多Linux命令,如:vi.vim.ls.pwd.grep.unzip.bash.perl.ssh 可在窗口内外自由使用常规的复制和粘贴操作 支持多Tab页的cmd窗口 提供了对命令窗口中的字符串进行快速搜索定位的功能 在传统cmd命令行工具的基础上,增加了Monokai配色方案,界面美观 命令窗口尺寸大小可自由调整

Windows系统中path环境变量详解

在学习JAVA的过程中,涉及到多个环境变量(environment variable)的概念,如PATH.正确地配置这些环境变量,是能够顺利学习.开发的前提.而经常出现的问题是:有的学习者能够按照提示一步一步地正确配置,但时间一长就忘了,出现了问题也无从下手.究其原因,就是对这些概念没有理解,知其然但不知其所以然.下面的内容,就是帮助大家知其所以然. 一.基本原理 首先看PATH环境变量. JAVA的初学者,必须要学会配置PATH环境变量,否则无法编译.运行JAVA程序.那么,为什么要配置PAT

大开测试:性能- 如何在脚本中加入DOS命令(连载17)

7.17  如何在脚本中加入DOS命令 1.问题提出 在没有Windows操作系统之前,人们应用的是DOS操作系统,那么也可以在LoadRunner的VuGen脚本中加入DOS命令,方便脚本对业务的灵活处理. 2.问题解答 DOS是磁盘操作系统(Disk Operation System)的简称.在大量的应用领域中,DOS仍有相当的市场.尤其值得初学者重视的是,DOS中关于文件的目录路径.文件的处理.系统的配置等许多概念,仍然在Windows中沿袭使用,甚至在Windows出现故障时,还会用到基

在c++程序中执行DOS命令

转自博客:http://blog.csdn.net/ypist/article/details/8485049 #1,system()方式 在C盘根目录下新建文件夹,名称为12: system("md c://12"); 执行时命令窗口会闪一下,看不到执行结果: dos 自身提供了执行多条命令的功能,符号 && 代表同时执行多条命令. 如先切换到C下的12文件夹,然后执行dir命令:cd C:/12 && dir 暂停三秒后继续程序:ping -w 30

在windows操作系统中,查询端口占用和清除端口占用的程序

一.在windows操作系统中,查询端口占用和清除端口占用的程序 提升权限后用:netstat -b或用 1.查询端口占用的进程ID 点击"开始"-->"运行",输入"cmd"后点击确定按钮,进入DOS窗口,接下来分别运行以下命令:netstat -a -n  各个端口占用netstat -ano   各个端口占用和进程PID          netstat -aon | findstr "80"      C:\Us