在这日新月异的新编程语言之前,dos批处理显得有点英雄落寞。不过呢,俗话说:“尺有所短,寸有所长!”学习编程语言周期比较长,而学习dos批处理相对比较容易入门,同时能在实际工作中发挥作用,简化我们重复性的操作。因此,不要(有)凭谁问:廉颇老矣,尚能饭否?(的感叹,你应当记住:)知否知否,(廉颇)一餐能食八斗!
好了,闲话少叙,现在继续我们的批处理之旅吧:今天带大家认识一下dos命令中与目录相关命令。
一. tree命令:以图形显示驱动器或路径的文件夹结构。
/F 显示每个文件夹中文件的名称。(带扩展名)
/A 使用 ASCII 字符,而不使用扩展字符。(如果要显示中文,则两个参数/F /A一起 )
这里以“J:\tree目录”这个文件夹为例【注意空格】:
tree J:\tree目录 /f
tree J:\tree目录 /a
tree J:\tree目录 /f /a
小作业:你可以用这条命令,将C盘的所有文件都显示在d盘的tree.txt文件里(由于C盘文件比较多,运行时间会比较长,你也可以换成其他盘符,比如D:)。
tree c:\ /f /a > d:\tree.txt
二. dir命令:显示目录中的文件和子目录列表。
上面的tree命令显示出来的文件信息偏少,这时候,我们的dir命令就排上用场了。
具体的语法信息就不做过多的阐述了,这里咱们就直接上实例了【注意空格】
1. 显示C盘隐藏的文件
dir c:\ /a:h
通过这条命令,就可以让那些隐藏的文件无处遁形,有些小伙伴可能会说:“难怪我的C盘空间经常不够,原来是这些隐藏文件在捣鬼!”
2. 仅显示文件(夹)列表
列出C盘隐藏文件名称:
dir c:\ /a:h /b
列出C盘文件目录名称:
dir c:\ /a:d /b
通过/b参数,可以获取指定目录的文件或文件夹名称。
3. 按排列顺序列出文件
按日期/时间从先到后排序:
dir c:\ /o:d
4. 显示文件或目录所有者(是谁创建者):
dir c:\ /q
5. 显示指定目录和所有子目录中的文件
dir j:\tree目录\1 /s
其他用法可以通过dir /?查询获得,这里就不一一赘述了,当然,你也可以通过多个参数组合获取列表信息,比如:
dir C:\AMD\WU-CCC2\ccc2_install /a:d /o:d /q
显示完整路径:下例是显示G盘下所有文件夹和文件的绝对路径
dir g: /s /b
三. cd命令:显示当前目录名或改变当前目录
1. 不带任何参数,显示当前目录
2. cd ..:返回上一级目录
3. cd /d d:\:进入D盘根目录
4. cd /d D:\Users\下载:进入D:\Users\下载 这个目录下
5. cd /d %~dp0:此条命令的作用更改当前目录为批处理本身的目录,一般用于批处理开头。
我们以D:\Users\下载目录为例,比如此目录下有个名为echo.bat的批处理,那么
%0:代表批处理本身 D:\Users\下载\echo.bat
%~dp0:代表该批处理所在的上一级目录,也就是D:\Users\下载
其中,~dp是变量扩充
d是扩充到分区号 D:
p是扩充到分区号下的指定路径:\Users\下载
dp合起来就是扩充到分区号路径 D:\Users\下载
用cd /d %~dp0的好处就是,你随时随地可以将批处理切换到该批处理文件所在的上级目录,如果该目录下有多个批处理文件需要运行,那么你就可以直接调用该批处理文件。
小提示:如果文件夹带有空格,建议将整个目录用双引号包围起来,让cmd识别为一个完整的路径,比如:cd /d "C:\Program Files\Windows Media Player"。