Atualizar:
Eu descobri que não apenas o Windows Explorer, mas também outros softwares sofrem com nomes de caminho muito longos. Por exemplo, no Firefox, quando eu salvo uma página da web em um diretório, ainda não posso fazer isso se o nome ou o nome do caminho for muito longo. O Firefox também conta com o Windows Explorer? Como posso resolver esse problema também?
Eu tentei o software recomendado nas duas respostas. Nenhum deles pode acessar um caminho longo. O problema do caminho longo é inerente ao sistema operacional Windows, independentemente de qual programa procurar nos diretórios? Se sim, isso significa que não há como contornar isso?
Original: tenho dois sistemas operacionais instalados no meu laptop: Windows 7 e Ubuntu 10.10. Eles compartilham uma partição.
No Ubuntu, usando o Nautilus, posso criar diretórios localizados profundamente na hierarquia de caminhos na partição compartilhada. Porém, ao mudar para o Windows, o Windows Explorer não permite acessar diretórios localizados muito fundo, ou seja, com nome de caminho muito longo.
Além disso, o Windows Explorer parece não conseguir acessar arquivos e diretórios criados no Ubuntu com caracteres especiais nos nomes de diretório e arquivo.
Eu queria saber o que pode resolver o problema no Windows? Por exemplo, existem outros softwares alternativos para substituir o Windows Explorer?
Respostas:
Enquanto o NTFS permite caminhos com cerca de 32.000 caracteres, você encontrou a limitação de comprimento do caminho de 259 caracteres da API do Win32 .
(Além disso, há um
NULL
caractere de terminação anexado ao caminho, fornecendo 259 caracteres utilizáveis.)Como o Explorer (e quase todos os outros aplicativos do Windows) confia na API do Win32 para acessar o sistema de arquivos, não é prático contornar essa limitação, mesmo que seja possível :
Infelizmente, você não pode simplesmente digitar
\\?\D:\very long path
em uma janela do Explorer. O aplicativo deve ser projetado para aproveitar essas APIs e manipular nomes de caminhos muito longos.Uma maneira de acessar caminhos de tamanho estendido no Windows é instalar o Cygwin , uma camada de emulação * nix para Windows. Nos meus testes, Cygwin não parece ser limitado por
MAX_PATH
; bash e vi não tiveram problemas com caminhos de 2.000 caracteres.Lembre-se de que, embora você possa usar o bash para procurar caminhos de tamanho estendido, provavelmente não poderá abrir arquivos nesses caminhos em aplicativos comuns do Windows. Por exemplo, digitar
notepad
enquanto o diretório de trabalho é um caminho de tamanho estendido leva vocêE tentar
notepad "\\?\D:\very long path\file.txt"
também não funciona; é iniciado, mas diz apenas "Não é possível encontrar o arquivo ..." Tentar o mesmo com o Notepad ++ trava. (Provavelmente um estouro de buffer.)Sua outra opção para acessar arquivos específicos ocultos em um caminho de tamanho estendido é encurtar o próprio caminho criando um ponto de junção NTFS . Em um prompt de comando elevado:
Agora você pode acessar o conteúdo
D:\very\long\path\
deD:\jct\
. Você não encontrará nenhum problema no tamanho do caminho, porque, no que diz respeito ao Explorer e a outros aplicativos, o caminho é justoD:\jct\
(ou o que seja). O driver NTFS lida com o redirecionamento do caminho (o "ponto de nova análise") de forma transparente.A desvantagem dessa abordagem é obviamente que você precisa criar uma junção próxima ao arquivo que deseja acessar; você ainda não pode simplesmente navegar por toda a estrutura de diretórios.
Em relação aos caracteres especiais (
" * : < > ? \ |
), isso é simplesmente inútil. Esses caracteres têm significados especiais no Windows, portanto, não é possível usá-los nos caminhos. (O Cygwin permite que você crie arquivos com caracteres especiais, mas o faz substituindo os caracteres por caracteres Unicode especiais, que são substituídos novamente ao ler. Visualizar esses arquivos criados pelo Cygwin no Linux ou no Explorer não pareceria correto, pois os caracteres Unicode não seriam substituídos novamente.)Tudo isso dito, o que você está fazendo que requer caminhos muito longos? Talvez você possa facilitar sua vida reavaliando o que está fazendo e evitando longos caminhos. As chances são de que você não precise de caminhos tão longos assim .
fonte
Se você gosta de aplicativos no modo de texto, o FAR Manager pode ser do seu interesse, pois eu descobri que ele pode suportar estruturas de diretório mais profundas do que o Windows Explorer (embora ainda existam algumas limitações impostas pelo próprio sistema operacional Windows subjacente).
Este é um aplicativo nativo do Windows de 32 ou 64 bits que, como o Norton Commander (desde os dias em que o DOS era o governante supremo dos sistemas operacionais no PC), é especializado em gerenciamento de diretórios (também conhecido como "Pasta") e de arquivos.
Eu já vi relatórios dele sendo usados como substitutos do Windows Explorer, mas não tentei isso porque estou bastante satisfeito com isso no contexto de usá-lo como um aplicativo. A captura de tela que incluí abaixo apresenta o recurso "Árvore de diretórios" no lado direito, que é ativado pressionando F9 (barra de menus), depois "R" (menu do painel direito), seguido de "T" (modo de painel em árvore) , o que pode ser de seu interesse especial ...
FAR Manager (de código aberto e gratuito)
http://www.farmanager.com/
fonte
existem algumas alternativas, mas não verifiquei a profundidade dos diretórios.
Eu tentei o Explorer ++ , de código aberto e portátil
e usar o Cubic Explorer , também de código aberto:
fonte
Eu tentei o gerenciador de arquivos 7-Zip e parece funcionar bem com caminhos longos.
fonte
Já experimentou o Total Commander ? É shareware. Parece lidar com nomes de caminhos longos e é um gerenciador de arquivos muito útil em geral.
fonte