Quel est le chemin de fichier le plus long que Windows peut gérer ?
Réponses
Trop de publicités?Longueur maximale du chemin (de MSDN)
Dans l'API Windows (avec quelques exceptions discutées dans les paragraphes suivants), la longueur maximum d'un chemin est de MAX_PATH, qui est défini comme étant de 260 caractères . Un chemin d'accès local est structuré dans l'ordre suivant : lettre du lecteur, deux points, barre oblique inversée, composants séparés par des barres obliques inversées et un caractère nul final. Par exemple, le chemin d'accès maximal sur le lecteur D est "D:\<quelque chaîne de chemin d'accès de 256 caractères><NUL>" où "<NUL>" représente le caractère nul de terminaison invisible pour la page de code système actuelle. (Les caractères < > sont utilisés ici pour des raisons de clarté visuelle et ne peuvent pas faire partie d'une chaîne de chemin d'accès valide).
Chemin du fichier XP - 250 caractères
Chemin d'accès au fichier Vista - 260 caractères
Le chemin le plus long sur une installation propre de Windows XP est de 152 caractères.
Le chemin le plus long sur une installation semi-propre de Windows Vista est de 195 caractères.
Windows XP autorise les noms de fichiers d'une longueur maximale de 255 caractères.
Windows Vista autorise des noms de fichiers encore plus longs, contenant jusqu'à 260 caractères.
Constante de Windows MAX_PATH
est égal à 260 comme le disent les autres réponses, cependant, le chemin le plus long réel est de 32767.
参照 aquí .
32k c'est en utilisant UNICODE, mais maintenant nous devons l'utiliser, donc nous devrions aussi utiliser cette longueur maximale de chemin.
Vous pouvez également jeter un coup d'œil à ma réponse dans SO qui explique plus en détail certaines choses sur la longueur maximale des chemins.
En "classique" limite est 260 des personnages : drive letter
+ :\
+ 255 characters of filename
+ \
(ou pour les arrondis) + null terminator
comme indiqué dans les autres réponses
Cependant, la véritable limite interne est 32767 caractères, ce qui peut être obtenu en ajoutant \\?\
pour obtenir un chemin pleinement qualifié
L'API Windows dispose de nombreuses fonctions qui ont également des versions Unicode pour permettre un chemin de longueur étendue pour une longueur totale maximale de 32 767 caractères. Ce type de chemin est composé d'éléments séparés par des barres obliques inverses, chacun pouvant atteindre la valeur renvoyée dans la fonction
lpMaximumComponentLength
du paramètreGetVolumeInformation
(cette valeur est généralement de 255 caractères). Pour spécifier un chemin d'accès de longueur étendue, utilisez la fonction"\\?\"
préfixe. Par exemple,"\\?\D:\very long path"
.
Si, pour certaines raisons, les chemins entièrement qualifiés ne peuvent pas être utilisés, il est possible d'accéder à des répertoires plus profonds en les montant sur une lettre de lecteur à l'aide de la commande subst
/ diskpart
ou en créant un jonction / lien symbolique pour raccourcir le chemin
Depuis la version 1607 de Windows 10, la MAX_PATH
La limite a également été supprimée, mais pas par défaut
À partir de Windows 10, version 1607,
MAX_PATH
Les limitations ont été supprimées des fonctions courantes de fichiers et de répertoires de Win32. Cependant, vous devez opter pour le nouveau comportement.https://docs.microsoft.com/en-us/Windows/desktop/FileIO/naming-a-file
Notez que La réponse de Joe est complètement fausse . La longueur maximale (longue) des noms de fichiers a toujours été de 255 caractères et de 1 000 caractères. MAX_PATH
a toujours été de 260