Alternative à l'Explorateur Windows pour les noms de chemin longs

24

Mise à jour:

  1. J'ai trouvé que non seulement l'Explorateur Windows mais aussi d'autres logiciels souffrent de noms de chemin trop longs. Par exemple, dans Firefox, lorsque j'enregistre une page Web dans un répertoire, je ne peux toujours pas le faire si son nom ou son chemin d'accès est trop long. Firefox utilise-t-il également Windows Explorer? Comment puis-je également résoudre ce problème?

  2. J'ai essayé le logiciel recommandé dans les deux réponses. Aucun d'entre eux ne peut accéder à un long chemin. Le problème de chemin long est-il inhérent au système d'exploitation Windows, quel que soit le programme pour parcourir les répertoires? Si oui, cela signifie-t-il qu'il n'y a aucun moyen de le contourner?

Original: j'ai deux systèmes d'exploitation installés sur mon ordinateur portable: Windows 7 et Ubuntu 10.10. Ils partagent une partition.

Dans Ubuntu, en utilisant Nautilus, je peux créer des répertoires situés très profondément dans la hiérarchie des chemins sur la partition partagée. Mais lors du passage à Windows, l'Explorateur Windows ne permet pas d'accéder à des répertoires trop profonds, c'est-à-dire ayant un nom de chemin trop long.

De plus, l'Explorateur Windows ne semble pas en mesure d'accéder aux fichiers et directions créés sous Ubuntu avec des caractères spéciaux dans les noms de répertoire et de fichier.

Je me demandais ce qui pouvait résoudre le problème sous Windows? Par exemple, existe-t-il d'autres logiciels alternatifs pour remplacer l'Explorateur Windows?

Tim
la source
1
Quel système de fichiers avez-vous utilisé pour la partition partagée (FAT32, NTFS)?
James P
1
@James: ntfs ...
Tim
Je demanderais pourquoi vous avez besoin de cette longueur de chemin ou de profondeur? résoudre tout ce qui vous a amené à atteindre la limite de 259 est probablement plus facile que de contourner Windows.
cjb110 du

Réponses:

30

Alors que NTFS autorise des chemins de 32 000 caractères, vous avez trouvé la limitation de longueur de chemin de 259 caractères de l'API Win32 .

Dans l'API Windows (à quelques exceptions près abordées dans le [document lié]), la longueur maximale d'un chemin MAX_PATHest définie sur 260 caractères.

(Il y a en plus un NULLcaractère de terminaison ajouté au chemin, nous donnant 259 caractères utilisables.)

Étant donné qu'Explorer (et presque toutes les autres applications Windows) s'appuient sur l'API Win32 pour l'accès au système de fichiers, il n'est pas pratique de contourner cette limitation même si c'est possible :

L'API Windows possède de nombreuses fonctions qui ont également des versions Unicode pour autoriser un chemin de longueur étendue pour une longueur de chemin totale maximale de 32 767 caractères. Ce type de chemin est composé de composants séparés par des barres obliques inverses, chacun jusqu'à la valeur renvoyée dans le lpMaximumComponentLengthparamètre de la GetVolumeInformationfonction (cette valeur est généralement 255 caractères). Pour spécifier un chemin de longueur étendue, utilisez le préfixe "\\? \". Par exemple, "\\? \ D: \ très long chemin ".

Malheureusement, vous ne pouvez pas simplement taper \\?\D:\very long pathdans une fenêtre Explorer. L'application doit être conçue pour tirer parti de ces API et gérer des noms de chemin très longs.

Une façon d'accéder à des chemins de longue durée sous Windows consiste à installer Cygwin , une couche d'émulation * nix pour Windows. Dans mes tests, Cygwin ne semble pas être limité par MAX_PATH; bash et vi n'ont eu aucun problème avec les chemins de 2 000 caractères.

Gardez à l'esprit que même si vous pouvez utiliser bash pour parcourir des chemins de longue durée, vous ne pourrez probablement pas ouvrir de fichiers dans ces chemins dans les applications Windows normales. Par exemple, en tapant notepadalors que le répertoire de travail est un chemin de longueur étendue, vous obtenez

Erreur: le répertoire de travail actuel a un chemin d'accès plus long que celui autorisé pour un répertoire de travail Win32. Impossible de démarrer l'application Windows native à partir d'ici.

Et essayer notepad "\\?\D:\very long path\file.txt"ne fonctionne pas non plus; il se lance, mais dit simplement "Impossible de trouver le fichier ..." Essayer la même chose avec Notepad ++ le plante. (Probablement un débordement de tampon.)

Votre autre option pour accéder à des fichiers spécifiques enfouis profondément dans un chemin de longue durée consiste à raccourcir le chemin lui-même en créant un point de jonction NTFS . À partir d'une invite de commande élevée:

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

Vous pouvez maintenant accéder au contenu de à D:\very\long\path\partir de D:\jct\. Vous ne rencontrerez aucun problème de longueur de chemin, car pour l'explorateur et les autres applications, le chemin est juste D:\jct\(ou autre). Le pilote NTFS gère la redirection du chemin (le «point d'analyse») de manière transparente.

L'inconvénient de cette approche est évidemment que vous devez créer une jonction près du fichier auquel vous souhaitez accéder; vous ne pouvez toujours pas simplement parcourir toute la structure du répertoire.

En ce qui concerne les caractères spéciaux ( " * : < > ? \ |), c'est tout simplement un non-go. Ces caractères ont des significations spéciales dans Windows, il n'est donc pas possible de les utiliser dans des chemins. (Cygwin vous permet de créer des fichiers avec des caractères spéciaux, mais il le fait en remplaçant les caractères par des caractères Unicode spéciaux, qu'il remplace ensuite lors de la lecture. La visualisation de ces fichiers créés par Cygwin sous Linux ou dans l'Explorateur ne serait pas correcte, car les caractères Unicode ne seraient pas substitués en arrière.)


Cela dit, que faites-vous qui nécessite de très longs chemins? Peut-être pourriez-vous vous faciliter la vie en réévaluant ce que vous faites et en évitant les longs chemins. Il y a de fortes chances que vous n'ayez pas besoin de chemins aussi longs de toute façon .

josh3736
la source
Il semble que cette réponse indique "Aucun logiciel n'existe qui fait ce que vous cherchez", mais pas explicitement
Aaron
5

Si vous aimez les applications en mode texte, alors FAR Manager peut vous intéresser car j'ai découvert qu'il peut prendre en charge des structures de répertoires plus profondes que Windows Explorer (bien qu'il existe toujours des limitations imposées par le système d'exploitation Windows sous-jacent lui-même).

Il s'agit d'une application Windows native 32 bits / 64 bits qui, comme Norton Commander (à l'époque où DOS était le dirigeant suprême des systèmes d'exploitation sur PC), est spécialisée dans l'annuaire (alias "dossier") et la gestion de fichiers.

J'ai même vu des rapports sur son utilisation en remplacement de l'Explorateur Windows, mais je n'ai pas essayé cela parce que je suis assez satisfait de cela dans le contexte de son utilisation en tant qu'application. La capture d'écran que j'ai incluse ci-dessous présente la fonction "Tree Directory" sur le côté droit, qui est activée en appuyant sur F9 (barre de menus), puis sur "R" (menu du panneau droit), suivi de "T" (mode du panneau d'arborescence) , qui peuvent vous intéresser particulièrement ...

  FAR Manager (gratuit et open source)
  http://www.farmanager.com/

entrez la description de l'image ici

Randolf Richardson
la source
Merci! (1) J'ai déjà essayé FAR. Il y a deux questions. Je sens que le bleu foncé fatigue mes yeux, peut-il être changé? Je me demande également comment choisir une application pour ouvrir un fichier qui peut être non reconnu ou ouvert dans plusieurs applications différentes. (2) J'ai constaté que non seulement l'Explorateur Windows mais aussi d'autres logiciels souffrent de noms de chemin trop longs. Par exemple, dans Firefox, je voudrais enregistrer une page Web dans un répertoire, je ne peux toujours pas ouvrir le répertoire si son nom ou son chemin d'accès est trop long. Firefox s'appuie-t-il également sur l'Explorateur Windows? Comment puis-je également résoudre ce problème?
Tim
Oui, la couleur peut être modifiée: F9 (barre de menus), "O" (menu Options), "L" (couleurs).
Randolf Richardson
Je ne comprends pas complètement la deuxième question sur "... comment choisir une application pour ouvrir un fichier ..." mais si vous appuyez sur Maj + Entrée sur un fichier, il s'appuiera sur les associations de fichiers de Windows pour l'ouvrir (à la place d'essayer de trouver une fonctionnalité intégrée ou un plug-in FAR Manager pour la gérer).
Randolf Richardson
Pour votre dernière question, j'ai remarqué que FAR Manager semble parfois pouvoir gérer des chemins légèrement plus longs. Je ne sais pas pourquoi, mais je pense que le problème que vous rencontrez peut être une limitation du système d'exploitation Windows lui-même.
Randolf Richardson
1
Utilisez Shift-Enter, ce qui entraînera Windows pour tenter de l'ouvrir; car il ne sera pas reconnu, vous serez invité à sélectionner une application.
Randolf Richardson
4

il existe des alternatives, mais je n'ai pas vérifié la profondeur des répertoires.

J'ai essayé Explorer ++ , opensource et portable

Capture d'écran d'Explorer ++

et utiliser Curretly Cubic Explorer , également opensource:

Capture d'écran de Cubicexplorer

Juhele
la source
Merci! J'ai trouvé que non seulement l'Explorateur Windows mais aussi d'autres logiciels souffrent de noms de chemin trop longs. Par exemple, dans Firefox, je voudrais enregistrer une page Web dans un répertoire, je ne peux toujours pas ouvrir le répertoire si son nom ou son chemin d'accès est trop long. . Firefox utilise-t-il également Windows Explorer? Comment puis-je également résoudre ce problème?
Tim
1
@Tim: Vous rencontrez peut-être une limitation imposée par la conception de Windows lui-même. J'ai également remarqué que l'invite DOS a même des problèmes avec des chemins très longs, bien que je puisse aller un peu plus loin en utilisant ces vilains noms de chemin "de style 8.3" (par exemple, "C: / PROGRA ~ 2 / SPYBOT ~ 1 /") . Une fonctionnalité intéressante, cependant, est que le mélange de ces chemins d'accès 8.3 plus courts avec les plus longs semble fonctionner très bien dans la majorité des applications.
Randolf Richardson
@Randolf: Merci! J'ai essayé le logiciel recommandé dans vos messages et ceux de Juhele. Excepté FAR, aucun d'entre eux ne peut accéder à un long chemin, tandis que FAR peut ouvrir un tel répertoire, il ne peut pas ouvrir un fichier en dessous. Le problème de chemin long est-il inhérent au système d'exploitation Windows, quel que soit le programme pour parcourir les répertoires? Si oui, cela signifie-t-il qu'il n'y a aucun moyen de le contourner?
Tim
@Tim: Je pense que vous avez confirmé le problème avec une limitation dans Windows lui-même. Pouvez-vous utiliser FAR Manage pour afficher le fichier (touche F3 après avoir mis en surbrillance le fichier)? Qu'en est-il de l'utilisation d'Enter (sans Shift)? (Si vous pouvez le visualiser, vous pouvez également le copier vers un autre emplacement où Windows peut l'utiliser - bien que cela soit fastidieux, cela permet au moins d'accéder au fichier.)
Randolf Richardson
4
Je viens d'essayer Explorer ++ et Cubic Explorer. Mais les deux semblent ne pas prendre en charge les noms de chemin long.
xaedes
2

J'ai essayé le gestionnaire de fichiers 7-Zip et il semble fonctionner correctement avec de longs chemins.

Elouan Keryell-Even
la source
Brillant! Joyau caché que j'avais sur mon ordinateur et qui ne pensait tout simplement pas à essayer. Bonus: j'avais un long chemin sur un partage réseau - et j'ai remarqué que les performances sur le gestionnaire de fichiers 7 Zip sont rapides et rapides par rapport aux performances lentes sur l'Explorateur Windows
Omaer
0

Avez-vous essayé Total Commander ? C'est un shareware. Il semble traiter les noms de chemin longs et est un gestionnaire de fichiers très utile en général.

la Corne
la source