在DOS下使用长文件名的方法

所属分类: 脚本专栏 / DOS/BAT 阅读数: 1600
收藏 0 赞 0 分享
昨天我在某网站的论坛上看到,有人问纯DOS下能否使用长文件名,而有人给他的答复是“不可能”。他的答复当然是非常不对的,但是,确实有很多人不清楚,在纯DOS下该如何使用长文件名。现在,我就将DOS下使用长文件名的方法介绍一下。 

DOS和Windows都是在不断地发展着的。最先支持长文件名的操作系统是Windows NT 3.5,随后Windows 95也采用了这种技术。然而,由于一些原因,MS并没有将长文件名功能加入到纯DOS中。不过,微软公司只是没有在纯DOS下提供LFN(长文件名)的应 用程序接口(API),而DOS本身是支持长文件名的。很多DOS7中自带的命令和最近几年来出现的许多新DOS软件(如现在很流行的DJGPP程序等) 只要发现LFN接口已经存在,就可以对LFN进行直接操作。因此,只要有一应用程序能提供纯DOS下LFN的接口,纯DOS下的长文件名就可以实现。 

为了达到这一目标,很多人开始努力了。最早提供LFN API的是LFNDOS,因此最为有名。不过由于它早就停止了更新,所以有许多bug,而且曾一直不支持中文长文件名。幸好有个国人帮助LFNDOS的作 者写了个支持中文长文件名的子功能,所以它的最新版1.07版已经支持中文LFN了。LFNDOS有很多缺点,如速度慢,占内存大,还有许多问题,所以并 不是很实用。因此,有人决定另编一个LFN接口驱动程序,这就是DOSLFN。DOSLFN是由一个德国人所做,现在仍在开发中。它和LFNDOS相比, 最大优点就是速度快,占内存小,而且支持Unicode。它的最新版本是0.32o,它的作者在我的帮助下,现已全面支持中文长文件名了,包括 GB2312、Big5、甚至GBK字符集的中文长文件名。由于它的以上优点,使它成为一个相当强大实用的LFN接口驱动程序,可在本站的“驱动程序”中 下载。一旦有了长文件名接口,那么MS-DOS 7.x中的各种内部命令、外部命令,以及PKUNZIP等命令都将自动使用长文件名,非常方便。由于长文件名功能的实用性,“MS-DOS 7.10完整安装版”中已自动调用长文件名功能,这样DOS安装后就直接全面支持中英文长文件名了。注意MS-DOS 6.x中则不行,因为它太旧而不支持长文件名。 

除LFN的API驱动程序以外,还有其它一些提供LFN支持的软件,如LFNDIR,作为DIR的增强工具,可以显示长文件名。但由于LFNDIR是个很 旧的软件,不支持FAT32分区和光盘,所以并不是很实用。最强大实用且有名的是Odi's LFN tools(可在本站的“文件工具”中下载),它包含一套长文件名工具,如LDIR,LCD,LRD,LDEL等,非常方便且稳定,全面支持 FAT12/16/32和光盘上的长文件名,可以当作纯DOS下操作长文件名的必备工具。还有一点很重要,那就是虽然MS-DOS本身不带有LFN支持, 并不代表所有的DOS都是这样。ROM-DOS 7.10就本地支持长文件名和FAT32,而不需任何其它程序。总之,DOS是真正支持长文件名的。 

一些旧的磁盘工具(如NDD 8.0等)由于推出的时候长文件名还没有出现,所以不支持长文件名,如果使用的话可能会对长文件名造成破坏。不过,近年来推出的新的DOS软件几乎都支持 长文件名,一部分就像上文所提的那样可以直接使用长文件名,其它的则是“明白”长文件名的存在而不会造成破坏。所以,使用的时候最好使用这些新的DOS工 具,这样就可以与长文件名和睦共处了。 
更多精彩内容其他人还在看

for 语句从入门到精通

在批处理中,for是最为强大的命令语句,它的出现,使得解析文本内容、遍历文件路径、数值递增/递减等操作成为可能
收藏 0 赞 0 分享

dos 目录跳转 cd

当我们需要处理不同路径下的文件的时候,很可能需要切换目录,这个时候,可以考虑使用目录跳转命令cd。
收藏 0 赞 0 分享

tree 以树形格式罗列文件

tree ,在英语中的基本含义是“树”,在cmd中,tree命令的功能是以树形格式罗列文件。
收藏 0 赞 0 分享

dos 内容重定向

当我们在cmd窗口中查询某条命令的帮助信息的时候,帮助信息是显示在命令行窗口中的,命令行窗口关闭后,这些帮助信息就看不到了,如果下次还想看,又得在命令行窗口中输入查询命令,比较繁琐。
收藏 0 赞 0 分享

执行批处理bat程序中的条件处理

一直用bat实现部分功能,对于我们仍需要控制是否满意我们的要求,下面是if帮助文档,方便查询
收藏 0 赞 0 分享

不错的批处理脚本 第一部分

非常不错的批处理脚本代码,功能比较多,用到了,很多的批处理机器
收藏 0 赞 0 分享

不错的批处理脚本实例代码 第二部分

不错的批处脚本实例代码,用到了批处理中的很多技巧与知识点,不懂得可以逐一查找相关资料
收藏 0 赞 0 分享

开机更新桌面主题的批处理代码

更新桌面主题的批处理代码
收藏 0 赞 0 分享

非常好的for 教程, 当时我就是看这个学习for 的第1/2页

批处理for命令详解 FOR这条命令基本上都被用来处理文本,但还有其他一些好用的功能! 看看他的基本格式(这里我引用的是批处理中的格式,直接在命令行只需要一个%号)
收藏 0 赞 0 分享

批处理的"循环"效果脚本

曾经在回答一个问题时 无意中想到的方法 今天又看到类似的问题 个人认为是非常实用的 于是 想把这种方法推荐给大家
收藏 0 赞 0 分享
查看更多