我正在设计一个数据库表,它将保存上传文件的文件名。windowsxp或Vista使用的NTFS中文件名的最大长度是多少?


当前回答

根据MSDN,它是260个字符。它包括“<NUL>”—不可见的终止空字符,因此实际长度为259。

但是阅读这篇文章,它有点复杂。

其他回答

在Windows 11(在NTFS驱动器中)是带扩展名的236

为了测试,重命名一个文件与以下名称,并尝试增加一个字符:

123456789012345678901012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678 9012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890.txt

文件名的各个组成部分(即路径上的每个子目录和最终文件名)限制为255个字符,总路径长度限制为大约32,000个字符。

但是,在Windows上,不能超过MAX_PATH值(文件259个字符,文件夹248个字符)。详情见http://msdn.microsoft.com/en-us/library/aa365247.aspx。

255个字符,但是完整的路径也不应该超过这个长度。维基百科上有一个很好的表格:http://en.wikipedia.org/wiki/Filename。

根据新的Windows SDK文档(8.0),似乎提供了一个新的路径限制。有一组新的路径处理函数和PATHCCH_MAX_CCH的定义,如下所示:

// max # of characters we support using the "\\?\" syntax
// (0x7FFF + 1 for NULL terminator)
#define PATHCCH_MAX_CCH             0x8000

官方文档的这一部分明确表示,对于NTFS, exFAT和FAT32,它是255个Unicode字符,对于UDF,它是127个Unicode或254个ASCII字符。

除此之外,最大路径名长度总是32,760个Unicode字符,每个路径组件不超过255个字符。