DOSKEY程序
首先简要介绍一下doskey这是一个很有用的工具,因为我是在ms-dos操作系统中学习的,所以默认没有命令回滚功能,因此我们需要手动加载doskey,加载很简单,直接在命令行中输入doskey即可
加载完之后,没有任何提示,但以后再输入命令,他就会进行记录,可以使用上下箭头来使用原来的命令,当命令比较多的时候,也可以使用F7,查看历史命令清单
然后使用F9可以选择对应编号的命令进行使用,在下面的提示后面直接输入命令编号,回车即可
29即对应命令tree,回车之后会列出当前目录的目录树
本文的重主要内容:
目录管理
不用说,目录管理最重要的一个命令非dir莫属,还有一个tree命令,也是很有用的
查看当前绝对路径:chdir
tree命令——列出目录树
无参就是列出当前目录的目录树:
可以看出,无参的tree命令就是列出当前目录的目录树
dir命令
首先dir命令是有很多参数的,这个没必要硬记,使用到的时候直接去查就行
dir的命令格式:
dir [filespec] [/p][/w][/a][/o][/s][/b]
这些参数都是大小写不敏感的(不区分大小写)
参数和选项
none (无参) 列出当前目录内容
filespec 指定列出的目录或文件
/p 一次显示一页
可以记作paper
/w 以宽格式显示清单(这样就不会显示文件的详细内容了),每行五个
可以记作wide
/a 列出所有的文件,而不考虑属性(所有的隐含文件和系统文件都会被列出来)
可以及做all
/o 将清单排序
可以记作order
/s 将该目录的子目录的内容也列出来
sub
/b 省略详细信息,列出每个条目的完整文件描述(包括路径)
但是我在实际操作中,并没有得到每个条目一样的详细路径 ,看下面第一张图片
不过我在进行文件搜索的时候,使用了该参数,可以准确输出目标文件的完整路径:
上面的代码中使用了/s参数,是为了搜索子目录
dir后面的filespec参数如果是一个文件,就会把该文件的详细信息列出来,效果就是这样的:
我虚拟机中用的是dos6.22,在win7的cmd中也是同样的效果
dir命令的/o选项
o就是order,就是排序,dir命令中的顺序码一共有以下几种:=
c 按压缩率排序
d 按日期排序
e 按扩展名的字典序
n 按名字的字典序
s 按大小排序
g 并未进行排序,只是把子目录列在清单内的开始
- dir /on
- 按名字排序,默认a-z
- dir /o-n
- 也是按名字排序,正好跟上面的命令结果相反
-
- 也是按名字排序,正好跟上面的命令结果相反
举一反三,其他的顺序码也是这个用法,只要在o和顺序码中间加一个-,就可以反序列出清单
当然,也可以好多顺序码一起写上去,下面这个代码就是优先按照日期递减输出,如果日期一致,按照名字递增输出,如果名字也一样,按照扩展名递增输出
dir命令的/a选项
使用/a选项的时候,与dir命令的属性代码搭配才会发挥出真正的功效,dir命令的属性代码如下:
A 归档属性
D 目录属性
H 隐含属性
R 只读属性
S 系统属性
整几个实例看一下:
下面这个代码会列出当前目录的所有隐藏文件,而且只会列出隐藏文件
只列出只读文件
使用dir的/s /b选项进行全局搜索
下面这个代码会在指定目录搜索command.com文件(本例中就是在C盘下进行搜索),并列出指定文件(command.com的完整路径)
创建目录,重命名目录,删除目录
创建目录
- md命令,可记作make directory,格式: md pathname(新目录的名字和路径)
- 下面的代码创建了一个新目录test,位于dos目录下,使用tree命令查看
重命名
- move命令,跟linux大同小异,格式:move oldname newname
- 将刚才创建的test目录重命名为heqile,由于是在C盘根目录下进行的重命名操作,因此需要加上他们的父目录
删除目录
- rd命令,可记作remove directory,格式:rd pathname
- 个人感觉这个命令没有太大的作用,因为它只能删除空目录,比如上面的test或heqile目录,它是可以删除的,但是如果用rm命令来删除一个非空目录,比如C:\dos,就会出现如下错误提示:directory not empty
- 这时,就可以祭出大杀器了,deltree命令会将整个目录彻彻底底的删除,不管该目录是否为空,很像linux的rm命令,可以把整个操作系统都删了(在root用户下)
- 使用前先创建快照,也可以自己创建测试目录,比如下图中的A目录或者B目录
ok,全部写完了。。。