Chaque fichier que vous stockez sur votre ordinateur se situe dans un ou plusieurs dossiers. Mis bout à bout, les caractères de cette arborescence forment un chemin d’accès. Hors, par défaut Windows est limité à 260 caractères. Comment augmenter cette limite ? S’applique-t-elle à toutes les applications ?

La limite de caractères d’un chemin d’accès à un fichier Windows

Dans Windows, la longueur maximum de caractères d’un chemin d’accès est définie dans MAX_PATH, limité à 260 caractères par défaut.

Un chemin d’accès local, c’est à dire situé sur le disque dur de l’ordinateur (hors serveur de fichier) est structuré comme ceci : Lettre de lecteur, suivie de deux points, un anti slash et d’un caractère « null ». « C:\ » est donc considéré comme une valeur de 4 caractères par Windows (caractère null inclus). Il vous reste donc 256 caractères pour composer votre chemin d’accès, séparateur « \ » et nom de fichier inclus.

Par exemple, le chemin ci-dessous se compose de 145 caractères :

C:\Users\David\Mes documents\mon fichier avec un nom super long vraiment trop long.docx

Depuis la mise à jour Windows 10 Aniversary Update et la prise en charge d’Unicode, l’API Windows permet au système d’exploitation d’étendre cette limite à 32 767 caractères. De quoi faire non ? Je vous indique comment supprimer ou plutôt augmenter cette limite dans les sections ci-dessous mais aussi les difficultés que vous pourrez rencontrer.

Supprimer la limite de 260 caractères depuis le registre Windows

Vous pouvez supprimer la limite de 260 caractères dans Windows depuis l’éditeur de registre.

1. Ouvrez une fenêtre Regedit. Pensez à faire une sauvegarde de votre base de registre au préalable.

2. Naviguez vers la clé ci-dessous:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem

3. Ouvrez la clé LongPathsEnabled puis indiquez la valeur 1 à la place de 0.

4. Redémarrez votre ordinateur.

Avec l’éditeur de stratégie de groupe locale

Vous pouvez également augmenter la limite de caractères des chemins d’accès aux fichiers depuis l’éditeur de stratégie de groupe locale Windows. Notez, que cette méthode fonctionne uniquement avec Windows 10 Professionnel. Je vous invite à lire si besoin comment connaitre la version de Windows installée sur son ordinateur.

1. Ouvrez une fenêtre Exécuter Windows, tapez gpedit.msc puis Ok.

2. Naviguez dans l’éditeur de stratégie locale jusqu’au chemin suivant : Configuration Ordinateur > Modèles d’administration > Système > Système de fichiers puis double cliquez sur Activer les noms de chemin d’accès Win32 longs.

3. Cochez Activer puis cliquez sur Ok.

4. Redémarrez l’ordinateur pour prendre en compte la modification de la longeur de 260 caractères des chemins de fichiers Windows.

Bien entendu, si vous gérez des ordinateurs avec Windows Serveur et Active Directory, vous pouvez activer ce paramètre par GPO pour l’appliquer à tout votre parc. A lire sur le même thème : Comment voir quelles GPO sont appliquées à un ordinateur Windows et 3 méthodes pour forcer la mise à jour de GPO.

On teste avec des chemins d’accès de plus de 260 caractères !

En pratique

Lorsque vous augmentez le nombre potentiel de caractères pour un chemin d’accès, ce paramètre s’applique au système d’exploitation. Mais méfiance, il ne garantit pas que vous pouvez créer de longues arborescences ou ouvrir vos fichiers comme à l’accoutumé. Je cite:

« L’activation des noms de chemin d’accès Win32 longs permet aux applications du Windows Store et aux applications win32 incluant un manifeste d’accéder aux chemins d’accès dépassant la limite standard de 260 caractères par nœud sur les systèmes de fichier compatibles. Lorsque ce paramètre est activé, les noms de chemin d’accès longs sont accessibles au sein du processus. »

Ce paramètre permet donc à des applications, via l’API Windows, d’accéder à des chemins d’accès de plus de 260 caractères dans le système d’exploitation Windows. En gros si votre application ne sait pas gérer, ce paramètre ne vous apportera pas plus.

Un exemple tout bête, vous ne pouvez pas créer d’arborescence de plus de 260 caractères avec l’Explorateur Windows même après suppression de la limite. Vous obtenez un avertissement : « Le ou les noms de fichiers sont trop longs pour le dossier de destination »

Erreur nom de fichier trop long Exploateur Windows

De même avec l’Invite de commande. En revanche, PowerShell vous permet de créer des dossiers dépassant cette limite avec la commande md :

md "le nom de mon dossier super long"

Attention, maxi pour un nom de fichier 260 caractères et pour un dossier 248. Il faut donc imbriquer vos dossiers pour faire des tests.

Les applications Office 365

Les applications Office 365 sont épargnées ? Pas vraiment. J’ai constaté des désagréments après une migration de fichiers depuis un stockage NAS (type Samba) vers un Sharepoint Online synchronisé sur des postes de travail avec OneDrive. Ce dernier, synchronise les fichiers dans le dossier « c:\users\nom utilisateur\nom sharepoint\nom bibliothèque ». La conception de cette arborescence de base consomme pas mal de caractères, on atteint vite la limite de 260. Pas de problème me direz-vous, il suffit de la modifier avec les astuces citées plus haut.

Et bien non, malgré tout, Excel n’accepte pas d’ouvrir des fichiers situés dans des répertoires de plus de 218 caractères. Vous obtiendrez une erreur à l’ouverture d’un fichier situé dans une arborescence supérieur à 218 caractères comme « Nom de répertoire non valide »

ou encore « La zone de données passée à un appel système est insuffisante ».

Très embêtant pour un logiciel très largement utilisé. Vous êtes contraint de revoir la structure du dossier. Néanmoins, un Uservoice existe à ce sujet et le problème devrait être réglé prochainement. Microsoft vous invite à patienter pendant que vos utilisateurs vous harcèle😂. Une petit astuce, LibreOffice sait très bien ouvrir les fichiers situés dans des chemins d’accès longs !

OneDrive est plus permissif car il autorise jusqu’à 520 caractères. La limite de 260 caractères est donc à moitié supprimée comme vous l’avez compris car elle dépend des possibilités des applications.

L’ouverture des documents PDF avec Adobe Reader est également impactée comme vous pour le lire sur l’Uservoice.

Connaître la longueur d’un nom de chemin d’accès à un fichier

En cas d’erreur ou pour effectuer des tests, il peut être intéressant de connaître le nombre de caractères que contient un chemin d’accès. Ainsi vous pourrez savoir si vous dépassez la limite ou non. Je vous partage ma méthode et les outils que j’utilise.

Bloc-notes ou Notepad++

Pour connaître le nombre de caractères d’un chemin d’accès, il suffit de copier/coller le chemin d’accès ainsi que le nom et l’extension de votre fichier depuis l’explorateur de fichier Windows. Collez-le dans le bloc-notes Windows ou dans Notepad++. Ensuite, positionnez votre curseur sur l’avant dernier caractère. Vous obtiendrez le nombre de caractères total de votre chemin d’accès à votre fichier. Pour l’exemple, le chemin d’accès se compose de 70 caractères :

TLPD

TLPD est un petit logiciel qui permet de scanner les longueurs de chemins d’accès d’un disque dur ou un répertoire. Pratique si vous devez déterminer au préalable d’une migration les noms de chemins d’accès à des fichiers trop longs. Vous spécifiez une valeur, par exemple 230, et il vous listera tous ceux qui dépassent cette valeur.

TLPD : https://sourceforge.net/projects/tlpd/

Conclusion

Les deux méthodes cités plus pour augmenter la limite de caractères des chemins d’accès Windows sont utiles pour certaines applications compatibles et nécessitant une gestion de chemins plus longs. Même si le fonctionnement de Windows et ce paramètre manque hétérogénéité, je vous conseille de l’activer.

Partagez cet article

Avez-vous trouvé cet article utile ?
Article utile ?
Vous pouvez aussi nous soumettre une idée d’article si votre recherche est différente.

Publications similaires

6 commentaires

  1. Excellente analyse, que je vais expérimenter. Vous ne savez vraisemblablement pas que je suppute que l’indexation Windows est perturbée par les longueurs qui dépassent ces limites et qu’elle tourne en rond, c’est-à-dire qu’une fois terminée elle se réinitialise, ce qui est une catastrophe quand on utilise l’indexation intégrée à Windows.

  2. Bonjour,
    J’utilise FileZilla comme client ftp ainsi que Notepad++.
    Lorsque je tente d’uploader certains fichiers, j’ai une erreur qui est dûe au chemin de destination trop long avec ces deux applis.
    J’ai modifié la base de registre comme indiqué ci-dessus, mais cela n’a rien changé !…
    Auriez-vous déjà rencontré ce problème, et existe-t-il une solution ?

    Cordialement,

  3. Bonjour et bravo beaucoup pour cet article clair et très utile, grâce à vous j’ai appris qu’augmenter la limite du nombre de caractères ne résoudrait pas mon problème. Je l’ai donc solutionné en raccourcissant les noms de mes sous-dossiers, et mes fichiers avec un nom top long (impossibles à renommer et à ouvrir) sont de nouveau utilisables. Un grand MERCI !!!

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *