What is the longest file path that Windows can handle?
What is the longest file path that Windows can handle?
Maximum Path Length (from MSDN)
In the Windows API (with some exceptions discussed in the following paragraphs), the maximum length for a path is MAX_PATH, which is defined as 260 characters. A local path is structured in the following order: drive letter, colon, backslash, components separated by backslashes, and a terminating null character. For example, the maximum path on drive D is "D:\<some 256 character path string><NUL>" where "<NUL>" represents the invisible terminating null character for the current system codepage. (The characters < > are used here for visual clarity and cannot be part of a valid path string.)
XP file path - 250 characters
Vista file path - 260 characters
The longest path on a clean install of Windows XP is 152 characters.
The longest path on a semi-clean install of Windows Vista is 195 characters
Windows XP allows file names upto 255 characters in length
Windows Vista allows even longer filenames containing upto 260 characters.
http://www.codinghorror.com/blog/archives/000729.html
The "classic" limit is 260 characters: drive letter
+ :\
+ 255 characters of filename
+ \
(or for rounding) + null terminator
as said in the other answers
However the real internal limit is 32767 characters which can be achieved by appending \\?\
to get a fully qualified path
The Windows API has many functions that also have Unicode versions to permit an extended-length path for a maximum total path length of 32,767 characters. This type of path is composed of components separated by backslashes, each up to the value returned in the
lpMaximumComponentLength
parameter of theGetVolumeInformation
function (this value is commonly 255 characters). To specify an extended-length path, use the"\\?\"
prefix. For example,"\\?\D:\very long path"
.
If due to some reasons the fully-qualified paths cannot be used then deeper directories can be accessed by mounting to a drive letter with subst
/diskpart
or by creating a junction/symlink to shorten the path
Since Windows 10 version 1607 the MAX_PATH
limit has also been removed although not by default
Starting in Windows 10, version 1607,
MAX_PATH
limitations have been removed from common Win32 file and directory functions. However, you must opt-in to the new behavior.https://docs.microsoft.com/en-us/windows/desktop/FileIO/naming-a-file
Note that Joe's answer is completely wrong. Max (long) file name length has always been 255 characters and MAX_PATH
has always been 260
Windows constant MAX_PATH
is equal to 260 as other answers says, however, the real longest path is 32767.
See here.
32k is while using UNICODE, but now we must use it, so we should also use such max path length.
Also, you can take a look into my answer in SO which explains some things more detailed about maximum path length.