昨天我在某網(wǎng)站的論壇上看到,有人問純DOS下能否使用長文件名,而有人給他的答復(fù)是“不可能”。他的答復(fù)當(dāng)然是非常不對的,但是,確實(shí)有很多人不清楚,在純DOS下該如何使用長文件名?,F(xiàn)在,我就將DOS下使用長文件名的方法介紹一下。
DOS和Windows都是在不斷地發(fā)展著的。最先支持長文件名的操作系統(tǒng)是Windows NT 3.5,隨后Windows 95也采用了這種技術(shù)。然而,由于一些原因,MS并沒有將長文件名功能加入到純DOS中。不過,微軟公司只是沒有在純DOS下提供LFN(長文件名)的應(yīng) 用程序接口(API),而DOS本身是支持長文件名的。很多DOS7中自帶的命令和最近幾年來出現(xiàn)的許多新DOS軟件(如現(xiàn)在很流行的DJGPP程序等) 只要發(fā)現(xiàn)LFN接口已經(jīng)存在,就可以對LFN進(jìn)行直接操作。因此,只要有一應(yīng)用程序能提供純DOS下LFN的接口,純DOS下的長文件名就可以實(shí)現(xiàn)。
為了達(dá)到這一目標(biāo),很多人開始努力了。最早提供LFN API的是LFNDOS,因此最為有名。不過由于它早就停止了更新,所以有許多bug,而且曾一直不支持中文長文件名。幸好有個國人幫助LFNDOS的作 者寫了個支持中文長文件名的子功能,所以它的最新版1.07版已經(jīng)支持中文LFN了。LFNDOS有很多缺點(diǎn),如速度慢,占內(nèi)存大,還有許多問題,所以并 不是很實(shí)用。因此,有人決定另編一個LFN接口驅(qū)動程序,這就是DOSLFN。DOSLFN是由一個德國人所做,現(xiàn)在仍在開發(fā)中。它和LFNDOS相比, 最大優(yōu)點(diǎn)就是速度快,占內(nèi)存小,而且支持Unicode。它的最新版本是0.32o,它的作者在我的幫助下,現(xiàn)已全面支持中文長文件名了,包括 GB2312、Big5、甚至GBK字符集的中文長文件名。由于它的以上優(yōu)點(diǎn),使它成為一個相當(dāng)強(qiáng)大實(shí)用的LFN接口驅(qū)動程序,可在本站的“驅(qū)動程序”中 下載。一旦有了長文件名接口,那么MS-DOS 7.x中的各種內(nèi)部命令、外部命令,以及PKUNZIP等命令都將自動使用長文件名,非常方便。由于長文件名功能的實(shí)用性,“MS-DOS 7.10完整安裝版”中已自動調(diào)用長文件名功能,這樣DOS安裝后就直接全面支持中英文長文件名了。注意MS-DOS 6.x中則不行,因?yàn)樗f而不支持長文件名。
除LFN的API驅(qū)動程序以外,還有其它一些提供LFN支持的軟件,如LFNDIR,作為DIR的增強(qiáng)工具,可以顯示長文件名。但由于LFNDIR是個很 舊的軟件,不支持FAT32分區(qū)和光盤,所以并不是很實(shí)用。最強(qiáng)大實(shí)用且有名的是Odi's LFN tools(可在本站的“文件工具”中下載),它包含一套長文件名工具,如LDIR,LCD,LRD,LDEL等,非常方便且穩(wěn)定,全面支持 FAT12/16/32和光盤上的長文件名,可以當(dāng)作純DOS下操作長文件名的必備工具。還有一點(diǎn)很重要,那就是雖然MS-DOS本身不帶有LFN支持, 并不代表所有的DOS都是這樣。ROM-DOS 7.10就本地支持長文件名和FAT32,而不需任何其它程序??傊珼OS是真正支持長文件名的。
一些舊的磁盤工具(如NDD 8.0等)由于推出的時候長文件名還沒有出現(xiàn),所以不支持長文件名,如果使用的話可能會對長文件名造成破壞。不過,近年來推出的新的DOS軟件幾乎都支持 長文件名,一部分就像上文所提的那樣可以直接使用長文件名,其它的則是“明白”長文件名的存在而不會造成破壞。所以,使用的時候最好使用這些新的DOS工 具,這樣就可以與長文件名和睦共處了。