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


当前回答

根据新的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

其他回答

这是在框架4.5中,当试图保存一个长文件名的文件时,“Unhandled异常”所说的:

指定的路径、文件名或两者都太长。完全限定文件名必须小于260个字符,目录名必须小于248个字符。

我无法在WS 2012资源管理器中创建名称+句点+扩展名超过224个字符的文件。别朝送信的开枪!

在同一服务器的CMD中,我不能创建一个超过235个字符的名称:

系统无法找到指定的路径。

在资源管理器中创建的具有224个字符名称的文件无法在notepad++中打开-它只是产生了一个新文件。

我把这个加到上面批准的答案中。

需要说明的是,人们之所以认为它是255-260个字符,是因为Windows资源管理器只支持这一个字符。如果文件名比这个长,它就会出错。然而,程序可以读取和写入更长的文件名(这就是Explorer最初抱怨的长度)。在这种情况下,微软的“推荐修复”是在编写该文件的原始程序中打开该文件并重命名它。

根据新的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

255个字符。

http://en.wikipedia.org/wiki/Filename