Qual é o caminho de arquivo mais longo que o Windows pode manipular?
57
Comprimento máximo do caminho (do MSDN)
Na API do Windows (com algumas exceções discutidas nos parágrafos a seguir), o comprimento máximo de um caminho é MAX_PATH, definido como 260 caracteres . Um caminho local é estruturado na seguinte ordem: letra da unidade, dois pontos, barra invertida, componentes separados por barras invertidas e um caractere nulo final. Por exemplo, o caminho máximo na unidade D é "D: \ <alguma cadeia de caracteres de 256 caracteres> <NUL>" onde "<NUL>" representa o caractere nulo final invisível para a página de código atual do sistema. (Os caracteres <> são usados aqui para maior clareza visual e não podem fazer parte de uma cadeia de caminho válida.)
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 arquivos ainda mais longos, contendo até 260 caracteres.
http://www.codinghorror.com/blog/archives/000729.html
fonte
A constante do Windows
MAX_PATH
é igual a 260, como outras respostas dizem, no entanto, o caminho mais longo real é 32767.Veja aqui .
32k está usando UNICODE, mas agora devemos usá-lo, portanto, também devemos usar esse tamanho máximo de caminho.
Além disso, você pode dar uma olhada na minha resposta no SO, que explica algumas coisas mais detalhadas sobre o comprimento máximo do caminho.
fonte
O limite "clássico" é de 260 caracteres:
drive letter
+:\
+255 characters of filename
+\
(ou para arredondamento) +null terminator
como dito nas outras respostasNo entanto, o limite interno real é de 32767 caracteres, que podem ser alcançados anexando
\\?\
-se a um caminho completo.Se, por algum motivo, os caminhos totalmente qualificados não puderem ser usados, os diretórios mais profundos poderão ser acessados montando-se em uma letra de unidade com
subst
/diskpart
ou criando uma junção / link simbólico para encurtar o caminhoDesde o Windows 10, o
MAX_PATH
limite também foi removido, embora não por padrãofonte