dir命令(下)

★使用多个 FileName 参数  
可以使用多个 FileName 参数。用空格、逗号或分号隔开文件名。可以在 FileName 中使用通配符( *)来显示一组文件。 

实例1dir G: *.txt *.apk
★使用通配符  
可以使用通配符,如星号 (*) 或问号 (?),来代表文件名的一个或多个字符,以显示文件的子集或子目录。  
星号 (*) 可使用星号代替任何字符串。例如
dir *.txt 列出当前目录中所有具有以 .txt 开头(如 .txt.txt1.txt_old)的扩展名的文件。    
dir read*.txt 列出当前目录中所有以“read”开头而且扩展名以 .txt 开头(如 .txt.txt1.txt_old)的文件。    
dir read*.* 列出当前目录中带有任意扩展名的以“read”开头的所有文件。  
切记,星号通配符总是使用短文件名映射,因此,您可能会得到意外的结果。例如,下面的目录包含 2 个文件,t.txt2  t97.txt  
您可能以为键入 dir t97* 会返回文件 t97.txt。然而,键入 dir t97* 将返回两个文件,这是因为,文件t.txt2的短名称是 T97B4~1.TXT ,星号通配符使用其短名称映射, 于是将文件 t.txt2 匹配到 t97*。类似地,键入 del t97* 将删除这两个文件。  
★问号 (?)使用问号代替名称中的单个字符。例如,键入:  
dir read???.txt 列出当前目录中所有带有 .txt 扩展名而且以“read”开头并且后面最多跟三个字符的文件,包括 Read.txtRead1.txtRead12.txtRead123.txt  Readme1.txt,但是不包括 Readme12.txt  
    
★指定文件显示属性  
如果使用其 Attributes 中指定多个值的 /a,则 dir 只显示那些带有所有指定属性的文件的名称。例如,如果使用 /a:r-h  /ar-h 指定 /a,并以 r  -h 作为属性,则 dir 只显示非隐藏的只读文件的名称。  
★指定文件名排序  
如果指定了多个 SortOrder 值,dir 首先通过第一个标准对文件名进行排序,然后再通过第二个标准排序,以此类推。例如,如果使用 /o:e-s  /oe-s 指定 /o,并以 e  -s 作为 SortOrder 的值,则 dir 将根据扩展名对目录名和文件名从大到小进行排序,然后显示最终结果。按照扩展名字母顺序排序使得没有扩展名的文件名最先显示,目录名次之,然后是具有扩展名的文件名。  
★使用重定向符号和管线  
在使用重定向符号 (>)  dir 输出发送到文件,或者使用管线 (|)  dir 输出发送到其他命令时,请使用 /a:-d  /b 只列出文件名。可以使用 FileName 以及 /b  /s 来指定 dir 在当前目录及其子目录中搜索所有匹配 FileName 的文件名。Dir 对查找到的每个文件名只列出其驱动器号、目录名、文件名和文件扩展名、每行一个路径。在使用管线重定向之前,应该在 Autoexec.nt 文件中设置 TEMP 环境变量。  

注意XP中,TEMP 环境变量已经被系统所设置。
预置 dir 参数  

  我们可能经常使用DIR命令,但DIR命令的默认设置并不让人满意,我们可以自己来调整它的设置。
通过将带有 DIRCMD 环境变量的 set 命令包含在 autoexec.bat文件中,可以预置 dir 参数。可以在 set dircmd 中使用 dir 参数的任意有效组合,其中包括文件的位置和名称。  
例如,要使用 DIRCMD 环境变量将宽行显示格式(即 /w)设置为默认格式,请在 autoexec.bat文件中键入以下命令:  
set dircmd=/w  
对于 dir 命令的单次使用,可以清除DIRCMD 环境变量的某个参数。为此,请在 dir 命令提示符下键入要清除的参数,并在参数前面加上减号。例如:  
dir /-w  
要更改 DIRCMD 默认设置,请键入:  
set dircmd==NewParameter  
新的默认设置对所有后接的 dir 命令有效,直到bat命令结束为止。  
要清除所有默认设置,请键入:  
set dircmd=  
要查看 DIRCMD 环境变量的当前设置,请键入:  
set  
Set 显示环境变量及其设置的列表。

注意xp中系统本身并没有设置dircmd变量

示例

系统对dir的默认设置是不遍历子目录的,但是下面的实例2却可以通过set dircmd=/s来让“dir”命令可以遍历子目录。

实例2

@echo off

set dircmd=/s

dir

pause

注意:dircmd=/s,bat命令结束后就无效了。它应该和普通的变量一样。

要按字母顺序以宽格式一个接一个地显示所有目录,请确保根目录是当前目录,然后键入: 
dir /s/w/o
Dir w的方式列出根目录的名称、根目录中文件的名称(包括扩展名)。然后,dir 列出该目录树中每个子目录包含的子目录名和文件名,然后再对子目录的子目录进行这样的递归。
要更改前面的示例,使 dir 显示文件名和扩展名而省略目录名

实例3 
@echo off

dir /s/w/o/a:-d

pause

列出目录下所有的文件和目录的完整路径形式(包含子目录)

实例4

dir /s/b

列出目录下所有的文件的完整路径形式(包含子目录)

实例5

dir /s/b/a:-d

列出目录下所有的目录的完整路径形式(包含子目录)

实例6

dir /s/b/a:d
要打印目录列表,请键入  
dir > prn  
指定 prn 时,目录列表发送到与 LPT1 端口相连接的打印机上。如果打印机连接在其他端口上,则必须使用正确端口的名称替换 prn  
 dir 命令的输出重定向到文件。可以通过用文件名替换 prn,还可以键入路径。例如,要将 dir 输出定向到 Records 目录的 Dir.doc 文件中,请键入:  
dir > \records\dir.doc  
如果 Dir.doc 不存在,dir 将创建该文件,除非 Records 目录也不存在。在这种情况下,会出现如下消息:  
File creation error  
要显示驱动器 C 上所有目录中带 .txt 扩展名的所有文件名的列表,请键入:  
dir c:\*.txt /w/o/s
Dir 以宽格式按字母顺序显示每个目录中匹配文件名的列表,

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值