标题: dos长文件名问题
[打印本页]
作者: Michael
时间: 2004-4-6 00:00
标题: dos长文件名问题
dos71 with doslfn在磁盘上存储一个8.3格式文件名的文件时是不是会同时创建一个长文件名和一个短文件名。
[此贴子已经被作者于2004-4-6 14:40:12编辑过]
作者: Wengier
时间: 2004-4-6 00:00
要看情况,如果文件名中有或曾经有小写字母或汉字时就会发生,否则通常不会。其实跟Win9x的DOS窗口中长文件名的处理方法基本上是一样的。
作者: Michael
时间: 2004-4-8 00:00
有没有能移除磁盘上长文件名的软件呢?
只移除根目录的也行。
作者: Wengier
时间: 2004-4-8 00:00
运行MS-DOS6.x中的SCANDISK、DEFRAG等软件的话,磁盘中的所有长文件名项将被移除,但对应的短文件名(即对应的~1的格式或大写字母的文件名)将被保留。如果想删所有的长文件名项的话,这不失为一种好办法。如果只想删某一文件夹中的长文件名项的话,在MS-DOS7.x将DOSLFN禁用并用COPY或MOVE命令重新复制或移动一下这些文件名即可(而不能是在MS-DOS6.x下操作,否则长文件名项和短文件名项的关联将丢失而产生磁盘中的文件名分配关联错误,而不是被删除;也不能在MS-DOS 7.x中加载DOSLFN时操作,否则长文件名项也被一起复制或移动了)。
BTW:此帖居然同时发到国外论坛去了,可惜我看那儿的人对DOS下的长文件名操作并不怎么熟悉。
作者: Climbing
时间: 2004-4-8 00:00
在dos 7.1环境下,为什么我的硬盘上原有的fat32分区中的长文件名在运行了doslfn后无论查看还是复制都变成了~1形式,但用Ren命令却可以改成长文件名。难道doslfn不支持硬盘上的长文件名?
作者: Wengier
时间: 2004-4-8 00:00
跟硬盘还是软盘没有关系,在有DOSLFN的情况下,DIR、COPY等命令都可以用长文件名的(比如用DIR命令看文件列表时长文件名在右边)。只是XCOPY暂不支持长文件名(支持长文件名的XCOPY我们现在正在开发测试中)。
作者: Michael
时间: 2004-4-9 00:00
可是dos6.22会把根目录区的长文件名当作一个具有系统,隐含,只读,卷标属性的东西。defrag不敢删除它的。
BTW:我英文太差了,没说清楚,所以那两个同学误解了我的意思吧。
[此贴子已经被作者于2004-4-9 14:19:40编辑过]
作者: Wengier
时间: 2004-4-9 00:00
MS-DOS 6.x或PC-DOS中的DEFRAG是会清除LFN项的,用过后它们全变成~1之类的SFN了。DEFRAG会将这些“东西”全部进行整理清除的,但不是删除,而是将SFN和LFN之间的关联丢失。我试过多次了。如果要真正删除LFN项的话,用上面我说的在无DOSLFN的情况下用MS-DOS 7.x进行复制/移动/改名法即可。
BTW:那些人其实并不明白您在说什么,而且我看他们即使知道您的意思也不知道该如何处理的,因为他们对本地支持长文件名的DOS的长文件名操作并不是十分了解。您如果英文不好的话就最好不要发在那儿吧。如果还有什么问题的话就告诉我吧,不用在那儿回复了,毕竟嘛,MS-DOS 7.10和DOSLFN是...
作者: Climbing
时间: 2004-4-10 00:00
Quote: |
以下是引用Wengier在2004-4-8 23:41:29的发言:
跟硬盘还是软盘没有关系,在有DOSLFN的情况下,DIR、COPY等命令都可以用长文件名的(比如用DIR命令看文件列表时长文件名在右边)。只是XCOPY暂不支持长文件名(支持长文件名的XCOPY我们现在正在开发测试中)。 |
|
我当然知道这跟硬盘软盘没有什么关系,但事实让我产生这种怀疑。
我原来的fat32分区中有长文件名,我用你的ms-dos 7.1启动盘启动系统后(同时启动了doslfn),你软盘上的Welcome to....txt那个长文件名我可以正常看到(当然是在右边看到的),但在列我fat32分区上的文件时,长文件名的左边和右边显示的是一样的,不能正常显示长文件名。
作者: Michael
时间: 2004-4-10 00:00
怎么才能移除已经在windows里删除的文件的长文件名项呢?就是在diskedit里我也不想看到它们。
BTW:那里确实不怎么样,比这里差多了。
[此贴子已经被作者于2004-4-10 20:37:27编辑过]
作者: Wengier
时间: 2004-4-10 00:00
Climbing:
FAT32应该没有问题呀,有可能是长文件名本身已不存在而只剩短文件名了吧。DOSLFN我经常用的,而且一般都是在FAT32分区上用的(我的D盘和F盘是FAT32的,而且上面的LFN特别多,包括中文长文件名)。
Michael:
如果想移除已经在windows里删除的文件的长文件名项的话,有两种办法,一种是自动,一种是手动。手动即自己清除那些项目,自动则需先恢复那些长文件名为正常状态,然后用支持长文件名的文件清除工具(即对文件名和文件内容进行WIPE操作的软件)对那些文件进行WIPE即可。如果想保留原文件内容的话,可以先复制一份为不带长文件名项的。其实既然已被删除,还有必要清除吗?
作者: Michael
时间: 2004-4-10 00:00
什么时候才能有支持长文件名的defrag呢,不知windows下的磁盘整理程序能不能清除那些已经被删除了的文件名。
作者: Wengier
时间: 2004-4-10 00:00
Win3.x下不是也有吗?
作者: Michael
时间: 2004-4-10 00:00
对,那个支持长文件名的。
BTW:Windows 3.X的文件管理器是不是会破坏长文件名。
作者: Wengier
时间: 2004-4-10 00:00
是的,它跟DOS6的那些命令没什么区别。
作者: liujun2000
时间: 2004-4-11 00:00
可是win32中文件名还是带~1
什么原因?
作者: Wengier
时间: 2004-4-11 00:00
很简单,Win3.2不支持长文件名。
作者: Michael
时间: 2004-4-12 00:00
第一个支持长文件名的操作系统是谁?是不是windows nt 3.5呢?
[此贴子已经被作者于2004-4-12 20:46:04编辑过]
作者: Wengier
时间: 2004-4-12 00:00
Quote: |
以下是引用Michael在2004-4-12 14:59:12的发言:
第一个支持长文件名的操作系统是谁?是不是windows nt 3.5呢? |
|
第一个支持MS的LFN的确实是Windows NT 3.5x。而Win95则出得更晚一点。
作者: Michael
时间: 2004-4-12 00:00
难道还有比ms早的lfn?
作者: Wengier
时间: 2004-4-12 00:00
Quote: |
以下是引用Michael在2004-4-12 21:40:07的发言:
难道还有比ms早的lfn? |
|
有的,不过是指其它的系统(如Unix等)中的LFN或者4DOS/NDOS所支持的File description式的LFN呢。而现在大家用的LFN则是MS的LFN。
作者: Michael
时间: 2004-4-12 00:00
原来如此
作者: dos迷
时间: 2004-4-14 00:00
wengier:
我这儿的XCOPY在有DOSLFN的情况下支持长文件名:
作者: Wengier
时间: 2004-4-14 00:00
Quote: |
以下是引用dos迷在2004-4-14 6:54:25的发言:
wengier:
我这儿的XCOPY在有DOSLFN的情况下支持长文件名:
|
|
在哪儿呢?能传上来让我看看吗?谢谢。
作者: Climbing
时间: 2004-4-14 00:00
我的问题原因找到了,doslfn确实支持fat32分区下的长文件名,但如果是映射的网络驱动器,doslfn就不再支持其上面的长文件名。
作者: Wengier
时间: 2004-4-14 00:00
Quote: |
以下是引用Climbing在2004-4-14 8:12:22的发言:
我的问题原因找到了,doslfn确实支持fat32分区下的长文件名,但如果是映射的网络驱动器,doslfn就不再支持其上面的长文件名。 |
|
那可就不是DOSLFN不支持了,而且那个网络映射程序(如MSCLIENT等)不支持长文件名。而且网络驱动器和本地驱动器完全是两回事,连SCANDISK、DEFRAG等命令都不支持网络驱动器的。