fbpx
维基百科

长文件名

长文件名,也指长文件名支持。在旧版本的DOS操作系统下,因为文件名稱有8.3格式的限制,凡文件主檔名超过8字节扩展名超过3字节的文件名,都被称为“长文件名”,在Windows下正常的文件名置換於DOS命令提示字元環境下則可能無法完整显示,如“Program files”資料夾可能會顯示成其对应的8.3文件名“PROGRA~1”。不过在MS-DOS 7以后的版本中可以通过加载类似DOSLFN这样的程序使得DIR等命令显示出长文件名。

微软Windows NT 3.5出来之后,“长文件名”问题得以解决,现在的Windows XP系统一般可以输入200多个字符作为文件名,或者200个字符扩展名[來源請求]

目前光盘上使用的长文件名技術有:Joliet英语Joliet (file system)ISO 9660 level 3等。

兼容性问题 编辑

微软在FAT文件系统中实现了对长文件名的支持,通过使用隐藏的目录项,其为卷标类型,来存储较长的名称;这种方案被称为VFAT,是为兼容性而选择的,因为卷标通常会被程序和操作系统(OS)组件忽略。在旧的操作系统上运行的程序仍然可以访问文件的短名称,而较新的、知道长文件名的操作系统和程序可以使用较长的名称。

当长文件名支持在Windows 95中被引入基于DOS的操作系统时,它给老的程序带来了一些问题。例如,当Windows处于DOS模式时,DOS程序执行扇区级目录操作可能会破坏长文件名信息。因此,默认情况下,在这种模式下不允许对硬盘进行扇区级访问。

在启动到普通DOS时,除非安装了VFAT长文件名驱动程序,否则长文件名是不可见的。微软没有将长文件名支持添加到许多旧程序中,包括文件管理器Windows 3.1x(Windows for Workgroups)文件管理器被新的操作系统外壳Windows文件资源管理器淘汰了。从NT 3.1开始,Windows NT支持NTFS文件系统的长文件名,它的所有工具,包括文件管理器,都被更新以支持LFN。NT 3.5增加了对FAT长文件名的支持,以便为Windows 95做准备。然而,Windows 95版本的文件管理器来自Windows for Workgroups 3.11。

OS/2将FAT文件系统的LFN存储在.LONGNAME扩展文件属性中,与微软的实现不兼容,只有支持OS/2标准的工具才能看到。许多通过路径名访问文件的API在没有支持驱动程序的情况下无法看到新的、更长的名称。

限制 编辑

由于FAT长文件名的实现是建立在一个更老的、更有限的命名系统之上的,因此不可避免地会有一些复杂的问题,例如當试图创建太多的前六个字母相同的文件。[1] 而且,在根目录中创建文件或文件夹比在其他目錄更可能遇上問題,因为FAT12FAT16只为硬盘的512个根目录条目分配空间。由于长文件名使用了不止一个目录条目,在根目录中還沒有512个文件或文件夹的情况下,就可能已經碰上这个问题。[2]如果所有长文件名都採用合法的上限長度,那麼根目錄空间只足夠儲存24个长文件名,因 (512/(1+20))=24(向下取整)。这个问题在FAT32卷中不存在。

长文件名系统允许的最大长度为255个UCS-2字符[3][4],包括空格和非字母或数字的字符(不包括以下字符,它们在COMMAND.COM命令解释器或操作系统内核中有特殊含义。\ / : * ? " < > |)。 这是由最多20个目录项链起来实现的,每个目录项有13个2字节的Unicode字符。[4]而且這個长文件必須放在驱动器的根文件夹中。

虽然长文件名系统讓更长的文件和目录名變得可能,但在基于DOS的系统下,从相关的短文件和目录名等价物构建的绝对文件路径仍然在一个称为当前目录结构英语Current Directory Structure(CDS)的内部数据结构中表示,[5][6][7][8]它对(短)路径名施加了66个字符的限制,从而也间接限制了路径深度,最多为33级(从根目录算起,并假定只有单字母名称)。(这个设计限制不存在于旧版本的DR DOS(在1991年11月更新的DR DOS 6.0之前),它仍然在内部采用相对路径表示。[7][8][9]然而,由于其内部差异,这些版本与现有的长文件名附加驱动不兼容。) 没有当前目录结构的非DOS操作系统不受这种路径深度限制。

参考来源 编辑

  1. ^ . CocoaDev. 2005-09-12. (原始内容存档于2006-10-18). 
  2. ^ Dobiash, Jack "vinDaci" (编). 4. Grand Ronde, Oregon, USA. 1998-01-06 [2013-05-22]. (原始内容存档于2015-10-25). 
  3. ^ Errors Creating Files or Folders in the Root Directory. Microsoft. [2022-08-17]. 120138. (原始内容于2015-01-12). 
  4. ^ 4.0 4.1 Winnick Cluts, Nancy. . Files and I/0 Technical Articles. Microsoft Corporation. August 1996 [2007-04-19]. 810456. (原始内容存档于2008-04-23). 
  5. ^ Brothers, Hardin; Rawson, Tom; Conn, Rex C.; Paul, Matthias R.; Dye, Charles E.; Georgiev, Luchezar I. 4DOS 8.00 online help. 2002-02-27. 
  6. ^ Paul, Matthias R. Hinweise zu JPSofts 4DOS 5.5b/c, 5.51, 5.52a und NDOS. MPDOSTIP. 1997-05-01 [2015-05-08]. (原始内容于2016-11-04) (德语).  (NB. The provided link points to a HTML-converted version of the 4DOS5TIP.TXT file, which is part of the MPDOSTIP.ZIP collection.)
  7. ^ 7.0 7.1 Davis, Jeremy. FreeCom and 4DOS DESCRIPT.ION files (FreeDOS tech note). FreeDOS. [2016-11-11]. (原始内容于2016-11-11). 
  8. ^ 8.0 8.1 Novell. TID1002030 Windows NT, Long File Names on NetWare. 1999-02-11 [2022-08-17]. (原始内容于2011-06-06). 
  9. ^ (PDF). IBM. 2007-12-06 [2022-08-17]. IBM document SC30-4137-01. (原始内容 (PDF)存档于2022-01-25). 

外部連結 编辑

    长文件名, 此條目可参照英語維基百科相應條目来扩充, 2020年8月15日, 若您熟悉来源语言和主题, 请协助参考外语维基百科扩充条目, 请勿直接提交机械翻译, 也不要翻译不可靠, 低品质内容, 依版权协议, 译文需在编辑摘要注明来源, 或于讨论页顶部标记, href, template, translated, page, html, title, template, translated, page, translated, page, 标签, 也指支持, 在旧版本的dos操作系统下, 因为文件名稱有8, 3格. 此條目可参照英語維基百科相應條目来扩充 2020年8月15日 若您熟悉来源语言和主题 请协助参考外语维基百科扩充条目 请勿直接提交机械翻译 也不要翻译不可靠 低品质内容 依版权协议 译文需在编辑摘要注明来源 或于讨论页顶部标记 a href Template Translated page html title Template Translated page Translated page a 标签 长文件名 也指长文件名支持 在旧版本的DOS操作系统下 因为文件名稱有8 3格式的限制 凡文件主檔名超过8字节或扩展名超过3字节的文件名 都被称为 长文件名 在Windows下正常的文件名置換於DOS或命令提示字元環境下則可能無法完整显示 如 Program files 資料夾可能會顯示成其对应的8 3文件名 PROGRA 1 不过在MS DOS 7以后的版本中可以通过加载类似DOSLFN这样的程序使得DIR等命令显示出长文件名 在微软的Windows NT 3 5出来之后 长文件名 问题得以解决 现在的Windows XP系统一般可以输入200多个字符作为文件名 或者200个字符扩展名 來源請求 目前光盘上使用的长文件名技術有 Joliet 英语 Joliet file system ISO 9660 level 3等 目录 1 兼容性问题 1 1 限制 2 参考来源 3 外部連結兼容性问题 编辑微软在FAT文件系统中实现了对长文件名的支持 通过使用隐藏的目录项 其为卷标类型 来存储较长的名称 这种方案被称为VFAT 是为兼容性而选择的 因为卷标通常会被程序和操作系统 OS 组件忽略 在旧的操作系统上运行的程序仍然可以访问文件的短名称 而较新的 知道长文件名的操作系统和程序可以使用较长的名称 当长文件名支持在Windows 95中被引入基于DOS的操作系统时 它给老的程序带来了一些问题 例如 当Windows处于DOS模式时 DOS程序执行扇区级目录操作可能会破坏长文件名信息 因此 默认情况下 在这种模式下不允许对硬盘进行扇区级访问 在启动到普通DOS时 除非安装了VFAT长文件名驱动程序 否则长文件名是不可见的 微软没有将长文件名支持添加到许多旧程序中 包括文件管理器 Windows 3 1x Windows for Workgroups 文件管理器被新的操作系统外壳Windows文件资源管理器淘汰了 从NT 3 1开始 Windows NT支持NTFS文件系统的长文件名 它的所有工具 包括文件管理器 都被更新以支持LFN NT 3 5增加了对FAT长文件名的支持 以便为Windows 95做准备 然而 Windows 95版本的文件管理器来自Windows for Workgroups 3 11 OS 2将FAT文件系统的LFN存储在 LONGNAME扩展文件属性中 与微软的实现不兼容 只有支持OS 2标准的工具才能看到 许多通过路径名访问文件的API在没有支持驱动程序的情况下无法看到新的 更长的名称 限制 编辑 由于FAT长文件名的实现是建立在一个更老的 更有限的命名系统之上的 因此不可避免地会有一些复杂的问题 例如當试图创建太多的前六个字母相同的文件 1 而且 在根目录中创建文件或文件夹比在其他目錄更可能遇上問題 因为FAT12和FAT16只为硬盘的512个根目录条目分配空间 由于长文件名使用了不止一个目录条目 在根目录中還沒有512个文件或文件夹的情况下 就可能已經碰上这个问题 2 如果所有长文件名都採用合法的上限長度 那麼根目錄空间只足夠儲存24个长文件名 因 512 1 20 24 向下取整 这个问题在FAT32卷中不存在 长文件名系统允许的最大长度为255个UCS 2字符 3 4 包括空格和非字母或数字的字符 不包括以下字符 它们在COMMAND COM命令解释器或操作系统内核中有特殊含义 lt gt 这是由最多20个目录项链起来实现的 每个目录项有13个2字节的Unicode字符 4 而且這個长文件必須放在驱动器的根文件夹中 虽然长文件名系统讓更长的文件和目录名變得可能 但在基于DOS的系统下 从相关的短文件和目录名等价物构建的绝对文件路径仍然在一个称为当前目录结构 英语 Current Directory Structure CDS 的内部数据结构中表示 5 6 7 8 它对 短 路径名施加了66个字符的限制 从而也间接限制了路径深度 最多为33级 从根目录算起 并假定只有单字母名称 这个设计限制不存在于旧版本的DR DOS 在1991年11月更新的DR DOS 6 0之前 它仍然在内部采用相对路径表示 7 8 9 然而 由于其内部差异 这些版本与现有的长文件名附加驱动不兼容 没有当前目录结构的非DOS操作系统不受这种路径深度限制 参考来源 编辑 MSDOSFileSystem CocoaDev 2005 09 12 原始内容存档于2006 10 18 Dobiash Jack vinDaci 编 Long Filename Specification 4 Grand Ronde Oregon USA 1998 01 06 2013 05 22 原始内容存档于2015 10 25 Errors Creating Files or Folders in the Root Directory Microsoft 2022 08 17 120138 原始内容存档于2015 01 12 4 0 4 1 Winnick Cluts Nancy Making Room for Long Filenames Files and I 0 Technical Articles Microsoft Corporation August 1996 2007 04 19 810456 原始内容存档于2008 04 23 Brothers Hardin Rawson Tom Conn Rex C Paul Matthias R Dye Charles E Georgiev Luchezar I 4DOS 8 00 online help 2002 02 27 Paul Matthias R Hinweise zu JPSofts 4DOS 5 5b c 5 51 5 52a und NDOS MPDOSTIP 1997 05 01 2015 05 08 原始内容存档于2016 11 04 德语 NB The provided link points to a HTML converted version of the 4DOS5TIP TXT file which is part of the MPDOSTIP ZIP collection 1 7 0 7 1 Davis Jeremy FreeCom and 4DOS DESCRIPT ION files FreeDOS tech note FreeDOS 2016 11 11 原始内容存档于2016 11 11 8 0 8 1 Novell TID1002030 Windows NT Long File Names on NetWare 1999 02 11 2022 08 17 原始内容存档于2011 06 06 4690 OS Programming Guide Version 5 2 PDF IBM 2007 12 06 2022 08 17 IBM document SC30 4137 01 原始内容 PDF 存档于2022 01 25 外部連結 编辑使用能够支持长文件名的DOS修改版 取自 https zh wikipedia org w index php title 长文件名 amp oldid 82023337, 维基百科,wiki,书籍,书籍,图书馆,

    文章

    ,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。