Comment étendre la taille maximale du chemin de fichier dans Windows 7? [dupliquer]

Réponses:

21

Malheureusement, la réponse est " dépend du programme ". Il appartient aux personnes qui écrivent les programmes de déterminer la méthode à utiliser. En fait, (plug sans vergogne) j'ai écrit une entrée de blog il y a quelques semaines décrivant le problème dans Explorer encore limité par MAX_PATH .

Selon ce que vous essayez de faire, vous pouvez utiliser un autre programme pour gérer les longs chemins, comme Microsoft Word. Sinon, votre seule autre option est de simplement "vivre avec" car cela a toujours été comme ça et ne semble pas changer de si tôt.

Je pensais juste mentionner que Windows 64 bits utilise également l'API "Win32" et CreateFileAque les programmes 32 bits et 64 bits ont le problème.


EDIT: Détails Geeky

Le problème existe uniquement dans la CreateFileAfonction et la CreateFileWfonction lorsqu'un chemin absolu avec une lettre de lecteur est utilisé. La seule méthode pour contourner cela (dans le code) est d'utiliser la \\?\C:\Path\To\File.txtsyntaxe ... donc même les programmes qui utilisent CreateFileWavec un chemin d'accès C:\Path\To\File.txtont le problème. C'est un peu difficile à décrire, mais il va sans dire que la principale raison pour laquelle les programmes ne prennent pas en charge la \\?\syntaxe en interne est qu'ils perdent la possibilité d'utiliser des chemins relatifs (des chemins comme ..\Documents\file.doc).

Joshua
la source
Soupir Oui, j'utilisais l'Explorateur Windows. Cela me semble étrange car je pouvais généralement créer des chemins de fichiers extrêmement longs dans Windows XP sans problème (je n'ai jamais eu l'erreur de chemin long dans XP. Pas une seule fois!). Eh bien
Cameron
2
Oui, il existe différentes façons de contourner le problème, mais aucune ne semble fonctionner à 100%. Honnêtement, je trouve que le problème est un énorme problème car nous conservons de plus en plus de fichiers. Cela m'arrive vraiment lorsque Word peut enregistrer sur un long chemin très bien, mais lorsque vous utilisez l'explorateur pour le copier, il meurt avec un "Le nom du chemin est trop long pour la destination"
Joshua
Merci pour les "détails geek", ils sont très intéressants (et ont un certain sens) pour moi parce que je suis un étudiant programmeur (je n'ai pas encore vraiment utilisé l'API Win32)
Cameron
C'est drôle, j'ai toujours eu cette erreur de long chemin dans XP / 2003.
surfasb
6

La commande SUBST incluse dans Windows 7 permet d'accéder à un chemin plus long via la nouvelle lettre de lecteur virtuel.

Associe un chemin d'accès à une lettre de lecteur.

SUBST [lecteur1: [lecteur2:] chemin]

SUBST lecteur1: / D

lecteur1: spécifie un lecteur virtuel auquel vous souhaitez affecter un chemin.

[lecteur2:] chemin Spécifie un lecteur physique et un chemin que vous souhaitez affecter à un lecteur virtuel.

/ D Supprime un lecteur (virtuel) substitué.

Tapez SUBST sans paramètres pour afficher une liste des lecteurs virtuels actuels.

Mike
la source