对前面命令提示符下文件管理的扩充
使用REN命令重命名文件
可以记作rename
命令格式:
REN oldname newname
参数:
oldname 指定文件的名字
newname 指定文件要更改为的名字
前面介绍过move命令,它既有重命名的功能,也有移动文件的功能,虽然ren也是重命名命令,但两者之间还是有区别的
ren可以进行批量操作
将所有的.hlp文件重命名为.hql文件:
有时进行这种操作时,会出现这样的提示:
Duplicate filename or file not found
- 之所以会出现这种提示,是因为当前目录中已经存在了指定的新名称的文件,又或者是原来的文件不存在(操作时文件名拼写错误)
使用ATTRIB命令更改文件及目录属性
命令格式:
ATTRIB [+R | -R][+A | -A][+H | -H][+S | -S][filespec[/S]]
参数和选项:
none 缺省,显示当前目录中所有的文件的属性
R 只读属性
A 归档属性(只有具有归档属性的文件,才可以列目录清单、删除、修改、更名、拷贝等操作)
H 隐藏属性
S 系统文件
filespec 制定处理的文件或目录
/S 处理当前目录或指定目录下的分枝中的所有文件
没有什么好讲的,记住参数和选项就OK了,可以同时进行多个属性的更改
DEL命令和TYPE命令
**del命令用来删除文件,/P选项用来在删除前进行询问
TYPE命令用来显示文件,但没有多大的用处,非ASCII文件无法显示,会输出很多表情乱码以及嘟嘟的铃声**
使用FC命令比较文件
- 二进制比较
命令格式:
FC [/B] filespec1 filespec2
参数和选项:
filespec1 指定用于比较的对一个文件
filespec2 指定用于比较的对一个文件
/B 指定FC命令以二进制形式进行比较,一个字节一个字节的比较
.com、.exe、.sys、.obj、.lib、.bin的缺省模式
对于明显的程序文件,fc命令默认使用二进制方式进行比较
如果使用FC的缺省模式比较了一个二进制文件和一个ASCII文件,就会出现下面这种情况,FC在执行比较时,强行将二进制翻译成了扩展字符(表情符……)和控制字符(响铃、制表、换行……),就是二进制数据对应的ASCII字符,加上/B选项可以解决这一问题:
显示了很多乱码,并且伴随有响铃
两个文件的内容如下:
二进制比较结果如下:
就拿第一行来说吧,它的意思是第一个文件的第0个字节是31,而第二个文件的第0个字节是71
地址和字节值都是十六进制表示,其中字节值是字符的ASCII码中的编号,可以验证,71就是7*16+1=113,就是ASCII中的’q’ASCII比较
命令格式:
FC [/L][/C][/N] filespec1 filespec2
参数和选项:
filespec1 指定用于比较的对一个文件
filespec2 指定用于比较的对一个文件
/L 按照ASCII码形式进行比较,一行一行比较,不匹配后不重新同步
/C 忽略大小写
/N 显示ASCII比较中不匹配行的行号
其中,/L选项中的不匹配后不同步的意思就是,遇到不匹配的行之后,不会再寻找后面再次匹配的地方
两个文件的内容以及ASCII比较结果:
file1:garden
file2:produce
FC并不认为单个匹配足以证明重新同步了,他需要连续两个匹配行来确定,Figs以及下面的Onion都匹配上了,因此它将Figs作为重新同步的位置
Apples显示的是可匹配的最后一行,Figs是重新匹配的第一行
注意:fc对于比较的内容是大小写敏感的,A和a是不一样的