我正在设计一个数据库表,用于保存上传文件的文件名。在 Windows XP 或 Vista 中使用的 NTFS 文件系统中,文件名的最大长度是多少?
我正在设计一个数据库表,用于保存上传文件的文件名。在 Windows XP 或 Vista 中使用的 NTFS 文件系统中,文件名的最大长度是多少?
文件路径最多可以包含255个字符,但完整路径也不应该超过这个长度。维基百科上有一张很好的表格,关于这个问题:http://en.wikipedia.org/wiki/Filename。
在 Windows 11 中(在 NTFS 驱动器中),文件名长度为 236,包括扩展名。
为了测试,请将文件重命名为以下名称,并尝试添加一个字符:
1234567890123456789010123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890.txt
实际上是256,参见文件系统功能比较,限制。
重复一篇关于http://fixunix.com/microsoft-windows/30758-windows-xp-file-name-length-limit.html的帖子
"假设我们谈论的是NTFS而不是FAT32,"路径+文件"的255个字符是资源管理器的限制,而不是文件系统本身的限制。NTFS支持长达32,000个Unicode字符的路径,每个组件最多255个字符。
资源管理器和Windows API将路径限制为260个字符,其中包括驱动器号、冒号、分隔斜杠和终止空字符。如果您以
\\
开头,则可以在Windows中读取更长的路径"
如果您阅读以上帖子,您会发现第五件事情:找到至少一个固执的计算机用户!
238! 我使用以下批处理脚本在Win7 32位下进行了检查:
set "fname="
for /l %%i in (1, 1, 27) do @call :setname
@echo %fname%
for /l %%i in (1, 1, 100) do @call :check
goto :EOF
:setname
set "fname=%fname%_123456789"
goto :EOF
:check
set "fname=%fname:~0,-1%"
@echo xx>%fname%
if not exist %fname% goto :eof
dir /b
pause
goto :EOF
w
)。那么现在怎么办? - 0xC0000022LMAX_PATH
限制。请再次尝试,将C:\
作为您的当前目录。 - CherryDT在WS 2012 Explorer中,我无法创建名称+句点+扩展名超过224个字符的文件。不要把怒火撒在信使身上!
在同一台服务器的CMD中,我无法创建长度超过235个字符的名称:
系统找不到指定的路径。
在Explorer中创建的具有224个字符名称的文件无法在Notepad++中打开-它只会出现一个新文件。