【问题标题】:How does NTFS handle the conflict of short file names?NTFS 如何处理短文件名冲突?
【发布时间】:2013-08-24 07:46:23
【问题描述】:

http://technet.microsoft.com/en-us/library/cc781134(v=ws.10).aspx 所述,每个NTFS 文件都有一个长文件名和一个相应的短文件名。 NTFS 可以在一个目录下创建超过 300 000 个文件,在这种情况下,短文件名会发生冲突。

如果您的文件夹中有大量文件(300,000 或更多),并且 这些文件具有具有相同初始字符的长文件名, 创建文件所需的时间增加。增加发生 因为 NTFS 的短文件名基于文件的前六个字符 长文件名。在包含超过 300,000 个文件的文件夹中,短 NTFS 使用所有 8.3 名称后,文件名开始冲突 类似于长文件名。之间的反复冲突 生成的短文件名和现有的短文件名导致 NTFS 将短文件名重新生成 6 到 8 次。

但是,微软没有回答这个问题:

NTFS 如何处理短文件名冲突?

前提是d:\tmp\目录下有超过300 000个文件,因此,至少有两个不同的文件,其短文件名都是THISIS~1.txt,如果我输入命令“type d:\tmp下的THISIS~1.txt",会发生什么?

【问题讨论】:

  • 最有可能的答案是:如果给定文件的所有可能短名称都已被使用,则不会为该文件创建短名称。请注意,您可以在卷上完全关闭短名称创建。这通常是最好的解决方案。
  • 引用的文档暗示它会搜索尚未使用的名称,因此您永远不会得到重复的名称。随着名称用尽,搜索变得更加困难。

标签: windows filesystems filenames


【解决方案1】:

NTFS 不会创建两个这样的短名称。第一个是 THISIS~1.txt,第二个是 THISIS~2.txt。例如,打开命令提示符并从 C 的根目录:驱动器类型

C:\>dir prog* /x /ad<Enter>

在 Windows 7 64 位系统上,您将看到与此类似的输出

03/28/2013  12:24 PM    <DIR>          PROGRA~1     Program Files
07/31/2013  11:09 AM    <DIR>          PROGRA~2     Program Files (x86)
12/10/2012  05:30 PM    <DIR>          PROGRA~3     ProgramData

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2011-10-31
  • 1970-01-01
  • 2015-02-16
  • 2020-08-16
  • 2011-06-26
  • 2017-07-14
  • 2013-09-01
  • 2015-04-07
相关资源
最近更新 更多