Qual é o caminho de arquivo mais longo que o Windows pode manipular?

56

Qual é o caminho de arquivo mais longo que o Windows pode manipular?

    
por Ron Tuffin 29.07.2009 / 10:06

4 respostas

47

Tamanho máximo do caminho (do 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.)

    
por 29.07.2009 / 10:09
15

Caminho do arquivo XP: 250 caracteres

Caminho do arquivo do Vista - 260 caracteres

O caminho mais longo em uma instalação limpa do Windows XP é de 152 caracteres.

O caminho mais longo em uma instalação semi-limpa do Windows Vista é de 195 caracteres:

O Windows XP permite nomes de arquivos com até 255 caracteres

O Windows Vista permite nomes de arquivo ainda maiores, com até 260 caracteres.

link

    
por 29.07.2009 / 10:21
7

A constante do Windows MAX_PATH é igual a 260, como outras respostas dizem, no entanto, o caminho mais longo real é 32767.

Veja aqui .

32k usa o UNICODE, mas agora devemos usá-lo, portanto, devemos usar esse comprimento máximo de caminho.

Além disso, você pode dar uma olhada na minha resposta em SO , que explica algumas coisas mais detalhadas sobre o comprimento máximo do caminho.

    
por 23.01.2014 / 10:26
0

O limite "clássico" é 260 caracteres: drive letter + :\ + 255 characters of filename + \ (ou para arredondamento) + null terminator como dito nas outras respostas

No entanto, o limite interno real é de 32767 caracteres, o que pode ser alcançado adicionando \?\ para obter um caminho totalmente qualificado

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 the GetVolumeInformation function (this value is commonly 255 characters). To specify an extended-length path, use the "\?\" prefix. For example, "\?\D:\very long path".

Se, por algum motivo, os caminhos completos não puderem ser usados, os diretórios mais profundos poderão ser acessados pela montagem em uma letra de unidade com subst / diskpart ou criando um junction / symlink para encurtar o caminho

Desde o Windows 10, o MAX_PATH limit também foi removido, embora não por padrão

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

    
por 08.08.2018 / 07:33

Tags