Windows 如何创建名称超过260个字符的文件夹
我想务实地创建一个文件夹层次结构。但问题是在某些情况下,文件夹名称超过260个字符,并且文件夹创建失败。我使用Win32文件名称空间创建了此文件夹层次结构。 我想创建以下格式的文件夹结构驱动器号:\FOLDER1\FOLDER2\FOLDER3\FOLDER4……。\FOLDER(N-1)\FOLDER(N) FOLDER1、FOLDER2、FOLDER3等是文件夹的名称。这些名称的长度超过260个字符 例如: 文件夹1名称为QWERTYUIOPASDFGHJKLZXCVBNMQWERTYUIOPASDFGHJKLZXCVBNMQWERTYUIOPASDFGKLZXCVBNMQWERTYUIOPASDFGKLZXCVBNMQWERTYUIOPASDFGKLZXCVBNMQWERTYUIOPASDFGHJKLZVBNMQWERTYUIOPASDFGHJKLZVBNMQWERTYUIOPASDFG 文件夹2名称为MNBVCxZLKJHGFDSAPOIUYTREWQMNBCxZLKJHGFDSAPOIUYTREWQMNBCxZLKJHGFDSAPOIUYTREWQMNBCxZLKJHGFDSAPOIUYTREWQMNBCxZLKJHGFDSAPOIUYTREWQMNBCxZLKJHGFDSAPOIUYTREWQMNBCxZLKJHGFDSAPOIUYTREWQMNBCxZLKJHGFDSAPOIUYTREWQMNBCxZLKJHGFDSAPOIUYTREWQMNBCxZLKKKKKKJFGFDZLKKKKKKKJFGFD 这样就行了 如何克服此文件夹名/文件名长度限制 操作系统:Windows 7 64位和Windows Server 2008 R2 64位 请帮助MSDN向您解释以下内容: 要将此限制扩展到32767个宽字符,请调用Unicode 函数的版本,并将Windows 如何创建名称超过260个字符的文件夹,windows,winapi,windows-server-2008,directory,windows-7-x64,Windows,Winapi,Windows Server 2008,Directory,Windows 7 X64,我想务实地创建一个文件夹层次结构。但问题是在某些情况下,文件夹名称超过260个字符,并且文件夹创建失败。我使用Win32文件名称空间创建了此文件夹层次结构。 我想创建以下格式的文件夹结构驱动器号:\FOLDER1\FOLDER2\FOLDER3\FOLDER4……。\FOLDER(N-1)\FOLDER(N) FOLDER1、FOLDER2、FOLDER3等是文件夹的名称。这些名称的长度超过260个字符 例如: 文件夹1名称为QWERTYUIOPASDFGHJKLZXCVBNMQWERTYUIO
\\?\
前置到路径。更多
有关详细信息,请参见命名文件
另见:
NTFS支持最多32K(32767个宽字符)的文件名。你需要
仅使用正确的API和正确的文件名语法。基本规则
is:文件名应以\\?\
开头,如\\?\C:\Temp
。相同的
可与UNC一起使用的语法:\\?\Server\share\Path
MSDN向您解释了这一点:
要将此限制扩展到32767个宽字符,请调用Unicode
函数的版本,并将\\?\
前置到路径。更多
有关详细信息,请参见命名文件
另见:
NTFS支持最多32K(32767个宽字符)的文件名。你需要
仅使用正确的API和正确的文件名语法。基本规则
is:文件名应以\\?\
开头,如\\?\C:\Temp
。相同的
可与UNC一起使用的语法:\\?\Server\share\Path
您可以使用以下两个技巧之一:
- 要创建路径长度超过260个字符的文件夹结构,如
,您可以创建C:\folder1\folder2\…\folder20
,C:\folder19
,然后将C:\folder20
及其所有子文件夹移动到folder20
,然后创建C:\folder19
并将C:\folder18
与C:\folder19
一起移动到folder20
内部。重复此操作,直到完成此结构的创建C:\folder18
- 您可以使用
符号创建路径。更多信息如下:(搜索单词最大路径长度限制)\?\C:\folder1\folder2\…\folder20
- 要创建路径长度超过260个字符的文件夹结构,如
,您可以创建C:\folder1\folder2\…\folder20
,C:\folder19
,然后将C:\folder20
及其所有子文件夹移动到folder20
,然后创建C:\folder19
并将C:\folder18
与C:\folder19
一起移动到folder20
内部。重复此操作,直到完成此结构的创建C:\folder18
- 您可以使用
符号创建路径。更多信息如下:(搜索单词最大路径长度限制)\?\C:\folder1\folder2\…\folder20
MaximumComponentLength
值的限制。这在理论上是特定于文件系统的,但在实践中总是255
所以,除非您自己制作支持更长文件组件的文件系统驱动程序,否则您无法按要求执行。但是,您可以创建一个总长度超过260个字符的路径,就像其他答案中的指针一样。单个路径组件(例如文件夹名或文件名)受返回的MaximumComponentLength
值的限制。这在理论上是特定于文件系统的,但在实践中总是255
所以,除非您自己制作支持更长文件组件的文件系统驱动程序,否则您无法按要求执行。然而,您可以做的是创建一个总长度超过260个字符的路径,就像其他答案中的指针一样。您将得到错误代码123:error\u INVALID\u NAME。下面是您可能测试的代码:
CreateDirectory(L“\\\\?\\C:\\qwertyuiopasdfghjklzxcvbnqwertyuiopasdfghjklzxcvbnqwertyuiopasdfghjklzxcvbnqwertyuiopasdfghjklzxcvbnqwertyuiopasdfghjklzxcvbnqwertyuiopasdfghjklzvcnqvbbnqwertyuiopasdfghjklzvbjkkkkkkkkkvbqwwwwwwwwwfgjjjkkkkkkkkkkvbjjjjjkkkkkvbjjjjjkkkkkkkkkvbjjjjjjjjjvvvvbjjjjjjjjjjj
您将得到错误代码123:error\u INVALID\u NAME。以下是您可能测试的代码:CreateDirectory(L)\\\\?C:\\QWERTYUIOPASDfGhKlzxCvNmqwertyUIOPASDfGhKlzxCvNmqwertyUIOPASDfGhKlzxCvNmqwertyUIOPASDfGhKlzxCvNmqwertyUIOPASDfGhKlzxCvNmqwertyUIOPASDfGhKlzCvNmqwertyUIOPASDfGfGhKlzKlzCvNmqwertyUIOPASDfGfGfGfGhKlzKlzCvNmqwKvNmqwertyUIOPASDfGfGfGfGfGfGfGfGfGfGvNmxCvNmxCvNmxCvNmqwKly;
看起来这些技巧在Windows 10上不再有效。两者都给出了一个错误,表示路径太长。看起来这些技巧在Windows 10.Bo上不再有效