我正在设计一个数据库表,它将保存上传文件的文件名。windowsxp或Vista使用的NTFS中文件名的最大长度是多少?
当前回答
这是在框架4.5中,当试图保存一个长文件名的文件时,“Unhandled异常”所说的:
指定的路径、文件名或两者都太长。完全限定文件名必须小于260个字符,目录名必须小于248个字符。
其他回答
255个字符,但是完整的路径也不应该超过这个长度。维基百科上有一个很好的表格:http://en.wikipedia.org/wiki/Filename。
Windows XP NTFS的199,我刚查过。
这不是理论,而是我在笔记本电脑上尝试的结果。可能会有缓解作用,但它不会让我把它变大。
我想知道是否有其他的设定限制了这一点?你自己试试吧。
我把这个加到上面批准的答案中。
需要说明的是,人们之所以认为它是255-260个字符,是因为Windows资源管理器只支持这一个字符。如果文件名比这个长,它就会出错。然而,程序可以读取和写入更长的文件名(这就是Explorer最初抱怨的长度)。在这种情况下,微软的“推荐修复”是在编写该文件的原始程序中打开该文件并重命名它。
我无法在WS 2012资源管理器中创建名称+句点+扩展名超过224个字符的文件。别朝送信的开枪!
在同一服务器的CMD中,我不能创建一个超过235个字符的名称:
系统无法找到指定的路径。
在资源管理器中创建的具有224个字符名称的文件无法在notepad++中打开-它只是产生了一个新文件。
238年! 我在Win7 32位下用下面的bat脚本检查了它:
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
推荐文章
- 在Python中构建完整的路径文件名
- 在Windows上更改文件的情况?
- 如何从PHP的完整路径中获得文件名?
- NTFS中的最大文件名长度(Windows XP和Windows Vista)?
- Vim for Windows -我输入什么来保存和退出文件?
- 我如何从包含绝对文件路径的字符串中获得文件名?
- 给定文件系统路径,是否有一种更短的方法来提取没有扩展名的文件名?
- 路径组件的命名标准是什么?
- .c vs .cc vs .cpp vs .hpp vs .h vs .cxx
- 如何使用bash脚本替换文件名中的空格
- 将字符串转换为有效的文件名?
- 使用Ruby从文件夹中获取所有文件的名称
- 在bash中提取不带路径和扩展名的文件basename
- 获取文件夹中所有文件的文件名
- 如何手动创建文件。Windows中的(点)前缀?例如,.htaccess