NTFS 有继承者吗?

hak*_*8or 4 ntfs filesystems

我要问的是是否有任何已知的文件系统可能是 NTFS 的继任者?

我问是因为我刚买了一个新的外部设备,并意识到文件的路径,包括文件名本身,加起来不能超过 255 个字符。这被微软称为“长文件名”。我假设这是由于文件系统限制,所以我正在寻找任何可能的替代方案。

我有一台基于 windows 7 的机器,但我假设会有第三方软件可以与 windows 一起使用,以使 windows 资源管理器可以访问新的文件系统。

Hen*_*nes 18

NTFS 有一个继承者。它是 NTFS :)
(NTFS 保留了它的名字,但较新版本的 Windows 具有不同和改进的 NTFS 版本)

但是 NTFS 不是文件名长度限制的原因。检查来自微软的这个链接。我会复制相关部分,即使从另一面复制有点长。


最大路径长度限制

在 Windows API 中(以下段落中讨论的一些例外情况除外),路径的最大长度为 MAX_PATH,定义为260 个字符

本地路径按以下顺序构造:驱动器号、冒号、反斜杠、由反斜杠分隔的名称组件和终止空字符。例如,驱动器 D 上的最大路径是“D:\some 256-character path string”,其中“”表示当前系统代码页的不可见终止空字符。(此处使用字符 < > 是为了使视觉清晰,不能是有效路径字符串的一部分。)

注意 Windows API 中的文件 I/O 函数将“/”转换为“\”作为将名称转换为 NT 样式名称的一部分,除非使用“\?\”前缀,如以下部分所述。

Windows API 有许多函数,这些函数也有 Unicode 版本,以允许最大总路径长度为 32,767 个字符的扩展长度路径。此类路径由以反斜杠分隔的组件组成,每个组件最多为 GetVolumeInformation 函数的 lpMaximumComponentLength 参数中返回的值(该值通常为 255 个字符)。要指定扩展长度的路径,请使用“\?\”前缀。例如,“\?\D:\非常长的路径”。


Nic*_*ton 12

您所指的限制是在 Windows API 中,而不是在文件系统中。为了传递超过 MAX_PATH 字符的文件名,Microsoft 扩展了 API 以接受长达32,767 个字符的长 Unicode 名称。但是要使用更长的路径,它必须是 Unicode,以 \\?\ 为前缀,并且是完全限定的(没有相对路径名)。实际上,这意味着要使用这些更长的路径,文件系统和操作系统支持就在那里,但您需要一个知道如何发挥其作用的应用程序。