总结一下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命令

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

  1. 【Windows】Windows中解析DOS的for命令使用

    目录结构: contents structure [+] 简介 for /d ... in ... 案例 案例:打印C://根目录下所有的文件夹名称 案例:打印当前路径下,只有1-3个字母的文件夹名 ...

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

    首先查看system32是否加入系统变量 其次要把当前运行的php版本的路径加入到系统变量中去,path中, 一定要是这个样子的: D:\phpStudy\php\php-5.6.27-nts 不然没 ...

  3. windows中dir命令

    最近想用dos命令打印指定目录下的所有文件夹的完整路径.最终发现可用dir命令来实现.在此学习下dir的各项命令. 32位win7系统上,打印帮助文档. D:\test>dir /? 显示目录中 ...

  4. Windows常用的一些DOS命令整理

    Windows常用的一些DOS命令整理.. MS DOS 命令大全 ---清空Dos屏幕使用命令:cls -- Dos切换当前目录到D盘:cd d: 一.基础命令 1 dir 无参数:查看当前所在目录 ...

  5. Windows常用的一些DOS下的CMD命令整理

    Windows常用的一些DOS下的CMD命令整理... -------------- 正斜杠--/////-----向右倒--网址正斜杠反斜杠--\\\\------向左倒--文件路径反斜杠 DOS命 ...

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

    原文出自:http://www.2cto.com/os/201304/203771.html   windows系统下在dos命令行kill掉被占用的pid   1.开始-->运行-->c ...

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

    在windows中,如何使用cmd命令行窗口正确显示编码为utf-8格式的文字呢? 正确的步骤如下: 1, 打开cmd命令行窗口 2, 输入命令 >chcp 65001 数字65001代表的是c ...

  8. windows 中的类似于sudo的命令(在cmd中以另一个用户的身份运行命令)

    linux中我们习惯用sudo命令来临时用另一个用户的身份执行命令. windows中,通常我们需要用管理员权限执行命令的时候通常是 右键->run as administrator. 用着键盘 ...

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

    一.Cmder简介 Cmder:一款用于Windows系统中,可增强传统cmd命令行工具的控制台模拟器(类似于Linux系统中的终端控制窗口) 特点: 无需安装,解压即用 可使用较多Linux命令,如 ...

随机推荐

  1. BZOJ2287【POJ Challenge】消失之物

    题解: 1.以前见过类似的,可以cdq分治 当l=r时就是还有一个剩余 这样时间是nmlogn的 空间是mlogn 2.首先我们可以dp出表示出j的方案数 令g[i][j]表示不能选i,表示出j的方案 ...

  2. linux下安装openoffice

    一.环境 centos6.9 安装jdk1.6及以上 二.安装依赖 yum install libXext.x86_64 -y yum install freetype -y yum groupins ...

  3. BZOJ4974 八月月赛 Problem D 字符串大师 KMP

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ4974 - 八月月赛 Problem D 题意概括 一个串T是S的循环节,当且仅当存在正整数k,使得 ...

  4. python json数据处理

    1. python 转 json import json data={ "name":"haha", "age" : 1,"lis ...

  5. 《Gradle权威指南》--Android Gradle测试

    No1: Android既可以用传统的JUnit测试,也可以用Android的instrument测试. No2: 当我们运行测试的时候,androidTest SourceSet会被构建成一个可以安 ...

  6. Nmap的详细使用

    Nmap的详细使用 介绍常用参数选项主机发现端口扫描服务和版本探测操作系统探测性能优化防火墙/IDS 躲避和哄骗输出 (一)介绍 Nmap — 网络探测工具和安全/端口扫描器. Nmap (“Netw ...

  7. C++雾中风景番外篇2:Gtest 与 Gmock,聊聊C++的单元测试

    正式工作之后,公司对于单元测试要求比较严格.(笔者之前比较懒,一般很少写完整的单测~~).作为一个合格的开发工程师,需要为所编写代码编写适量的单元测试是十分必要的,在实际进行的开发工作之中,TDD(T ...

  8. c# 深入探索之CLR

    概念: CLR : 公共语言运行时(Common Language Runtime) 是一个可由多种编程语言使用的"运行时",它负责资源管理(内存分配和垃圾收集等),并保证应用和底 ...

  9. C# 遍历控件 示例

    foreach(Control c in tabControl1.TabPages)//这个循环的意思是说,遍历tabControl1中所有的TabPages,TabPages是包含在tabContr ...

  10. hibernate中多对一问题

    例如User类中有个Group引用对应数据库就是groupId的外键了. 外键映射成一个类对吧. <many-to-one name="groupId" column=&qu ...