Alternativa ao Windows Explorer para nomes de caminhos longos

24

Atualizar:

  1. 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?

  2. 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?

Tim
fonte
1
Qual sistema de arquivos você usou para a partição compartilhada (FAT32, NTFS)?
James P
1
@ James: ntfs ...
Tim
Gostaria de perguntar por que você precisa desse comprimento de caminho ou profundidade? resolver o que levou você a atingir o limite 259 é provavelmente mais fácil do que fazer com que o Windows o contorne.
Cjb110

Respostas:

30

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 .

Na API do Windows (com algumas exceções discutidas no [documento vinculado]), o comprimento máximo de um caminho MAX_PATHé definido como 260 caracteres.

(Além disso, há um NULLcaractere 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 :

A API do Windows possui muitas funções que também possuem versões Unicode para permitir um caminho de tamanho estendido para um comprimento total máximo de 32.767 caracteres. Esse tipo de caminho é composto de componentes separados por barras invertidas, cada um até o valor retornado no lpMaximumComponentLengthparâmetro da GetVolumeInformationfunção (esse valor geralmente possui 255 caracteres). Para especificar um caminho de tamanho estendido, use o prefixo "\\? \". Por exemplo, "\\? \ D: \ caminho muito longo ".

Infelizmente, você não pode simplesmente digitar \\?\D:\very long pathem 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 notepadenquanto o diretório de trabalho é um caminho de tamanho estendido leva você

Erro: O diretório de trabalho atual possui um caminho maior que o permitido para um diretório de trabalho do Win32. Não é possível iniciar o aplicativo nativo do Windows a partir daqui.

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:

D:\> mklink /J jct "\\?\D:\very\long\path"

Agora você pode acessar o conteúdo D:\very\long\path\de D:\jct\. Você não encontrará nenhum problema no tamanho do caminho, porque, no que diz respeito ao Explorer e a outros aplicativos, o caminho é justo D:\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 .

josh3736
fonte
Parece que esta resposta diz: "Não existe um software que faz o que você está procurando", mas não explicitamente
Aaron
5

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/

insira a descrição da imagem aqui

Randolf Richardson
fonte
Obrigado! (1) Eu tentei muito antes. Existem duas perguntas. Sinto o azul escuro forçar meus olhos, então isso pode ser mudado? Também me pergunto como escolher um aplicativo para abrir um arquivo que pode não ser reconhecido ou ser aberto em vários aplicativos diferentes. (2) 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, eu gostaria de salvar uma página da web em um diretório, ainda não consigo abrir o diretório 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?
Tim
Sim, a cor pode ser alterada: F9 (barra de menus), "O" (menu Opções), "L" (cores).
Randolf Richardson
Eu não entendo completamente a segunda pergunta sobre "... como escolher um aplicativo para abrir um arquivo ...", mas se você pressionar Shift-Enter em um arquivo, ele dependerá das Associações de Arquivos do Windows para abri-lo (em vez disso, de tentar encontrar um recurso interno ou o plug-in FAR Manager para lidar com isso).
Randolf Richardson
Para sua última pergunta, notei que o FAR Manager parece capaz de lidar com caminhos um pouco mais longos às vezes. Não sei por que, mas suspeito que o problema que você está enfrentando pode ser uma limitação do próprio sistema operacional Windows.
Randolf Richardson
1
Use Shift-Enter, o que fará com que o Windows tente abri-lo; como não será reconhecido, você receberá a solicitação usual para selecionar um aplicativo.
Randolf Richardson
4

existem algumas alternativas, mas não verifiquei a profundidade dos diretórios.

Eu tentei o Explorer ++ , de código aberto e portátil

Captura de tela do Explorer ++

e usar o Cubic Explorer , também de código aberto:

Imagem do Cubicexplorer

Juhele
fonte
Obrigado! 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, eu gostaria de salvar uma página da Web em um diretório, ainda não consigo abrir o diretório se o nome ou o nome do caminho for muito longo. . O Firefox também depende do Windows Explorer? Como posso resolver esse problema também?
Tim
1
@ Tim: Você pode estar enfrentando uma limitação imposta pelo design do próprio Windows. Também notei que o prompt do DOS ainda tem problemas com caminhos muito longos, embora eu possa me aprofundar um pouco mais usando os nomes de caminho feios "8.3" (por exemplo, "C: / PROGRA ~ 2 / SPYBOT ~ 1 /") . Um recurso interessante, no entanto, é que a mistura desses nomes de caminho 8.3 mais curtos com os nomes mais longos parece funcionar muito bem na maioria dos aplicativos.
Randolf Richardson
@ Randolf: Obrigado! Eu tentei o software recomendado nas postagens sua e da Juhele. Com exceção do FAR, nenhum deles pode acessar um caminho longo, enquanto o FAR pode abrir um diretório, mas não pode abrir um arquivo nele. 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?
Tim
@ Tim: Eu acredito que você confirmou o problema com uma limitação no próprio Windows. Você pode usar o FAR Manage para visualizar o arquivo (tecla F3 depois de realçar o arquivo)? Que tal usar Enter (sem a Shift)? (Se você pode vê-lo, então você também pode copiá-lo para outro local onde o Windows pode fazer uso dele - embora isso seja tedioso, ele pelo menos torná-lo possível para acessar o arquivo.)
Randolf Richardson
4
Eu apenas tentei o Explorer ++ e o Cubic Explorer. Mas ambos parecem não suportar nomes de caminhos longos.
xaedes
1

Eu tentei o gerenciador de arquivos 7-Zip e parece funcionar bem com caminhos longos.

Elouan Keryell-Even
fonte
Brilhante! Jóia escondida que eu tinha no meu computador e simplesmente não pensei em tentar. Bonus: Eu tinha um longo caminho em um compartilhamento de rede - e notei que o desempenho no 7 Zip File Manager é rápido louco vs o desempenho lento no Windows Explorer
Omaer
0

Já experimentou o Total Commander ? É shareware. Parece lidar com nomes de caminhos longos e é um gerenciador de arquivos muito útil em geral.

A buzina
fonte