Comment résoudre le problème "Le nom de fichier est trop long" sous Windows

Si vous avez déjà vu ce problème, c'était probablement une solution simple pour vous. Si vous avez vu cette erreur plus de deux fois, vous savez également que cela peut parfois être un problème complexe à résoudre.

Espérons que vous ne rencontrerez que la variété de solutions faciles, mais nous vous préparerons également pour les solutions moins faciles et garanties de fonctionner.

Pourquoi la longueur du nom de fichier est-elle même un problème sous Windows ?(Why Is Filename Length Even An Issue In Windows?)

La longueur des noms de fichiers est depuis longtemps un problème pour les systèmes d'exploitation tels que Windows . Il fut un temps où vous ne pouviez pas avoir des noms de fichiers de plus de 8 caractères plus une extension de fichier à 3 caractères. Le mieux que vous puissiez faire était quelque chose comme myresume.doc . Il s'agissait d'une restriction imposée par la conception du système de fichiers.

Les choses se sont améliorées avec la sortie de nouvelles versions de Windows . Nous sommes passés d'un ancien système de fichiers limité à quelque chose appelé New Technology File System ( NTFS ). NTFS nous a amenés à un point où un nom de fichier pouvait contenir 255 caractères et la longueur du chemin du fichier pouvait potentiellement atteindre 32 767 caractères. Alors, comment pouvons-nous avoir des noms de fichiers trop longs ?

Windows a des choses connues sous le nom de variables système. Ce sont des variables sur lesquelles Windows s'appuie pour fonctionner, car Windows saura toujours ce que signifient les variables et où elles se trouvent, même lorsque nous déplaçons des bits et des octets partout. La variable système MAX_PATH est celle qui limite les noms de fichiers et les chemins de fichiers à moins de 260 caractères.

Étant une variable, vous penseriez que nous pourrions la changer. Non, nous ne devrions pas. Ce serait comme tirer un fil d'un pull. Dès qu'une variable système change, les autres variables système et les composants qui en dépendent commencent à s'effilocher.

Comment y remédier, alors ?

La solution facile(The Easy Fix)

Si vous avez de la chance, vous obtiendrez l'erreur et saurez exactement quel nom de fichier est à l'origine du problème. Ou du moins où trouver le fichier. Peut-être avez-vous un nom de fichier qui ressemble à quelque chose comme :

C:\User\guymc\Documents\My Resumesresumewithanamesolongthatitcausesproblemsandbecomespartofsomeguysarticleonthewebhowdoyoulikemenow.docx

Il est évident qui est l'agresseur dans cette affaire. Trouvez le fichier dans l' Explorateur Windows(Windows Explorer) , ou l' Explorateur de fichiers(File Explorer) comme on l'appelle dans Windows 10 , cliquez une fois dessus, appuyez sur F2 pour le renommer et changez ce nom de fichier idiot en quelque chose de plus raisonnable. Problème(Problem) résolu.

Les correctifs les moins faciles(The Less Easy Fixes)

Il n'est pas toujours facile de résoudre ce problème. Parfois, vous ne pourrez peut-être pas modifier les noms de fichiers ou de répertoires pour une raison quelconque.

Les solutions suivantes feront l'affaire pour vous. Ils ne sont pas difficiles à faire.

Déplacer(Move) , supprimer(Delete) ou copier des fichiers ou des répertoires à l'aide de PowerShell(Or Copy Files Or Directories Using PowerShell)

Parfois, vous obtenez une erreur lorsque vous essayez de déplacer, supprimer ou copier des répertoires où le nombre de caractères pour le chemin du fichier est supérieur à 260.

Notez que les mots répertoire et dossier sont interchangeables. Nous utiliserons 'répertoire' à l'avenir. Les applets de commande PowerShell suivantes peuvent également être utilisées sur des fichiers.

Peut-être que le chemin du fichier ressemble à :

C:\Users\guymc\Documents\This\Is\Exactly\The\Precise\Directory\Path\That\I\Need\To\Have\To\Keep\My\Files\Sorted\In\A\Manner\That\Makes\Sense\To\Me\So\Lets\Pretend\This\Is\An\Actual\Filepath\That\You\Might\Also\Have\On\Your\Windows\Computer\And\Not\Over\Think\It\Document.docx

Ce chemin de fichier contient 280 caractères. Nous ne pouvons donc pas copier le répertoire de là vers un autre endroit avec la méthode normale de copier-coller. Nous obtenons l' erreur Destination Path Too Long .

Supposons que pour une raison quelconque, nous ne pouvons pas renommer les répertoires dans lesquels le fichier est imbriqué. Qu'est-ce qu'on fait?

Ouvrez PowerShell(Open PowerShell) . Si vous n'avez pas encore utilisé PowerShell , profitez de notre article Utilisation de PowerShell pour les utilisateurs à domicile - Guide du débutant(Using PowerShell for Home Users – A Beginner’s Guide) . Cependant, vous pouvez effectuer les étapes suivantes sans lire l'article.

Lorsque PowerShell s'ouvre, vous serez à la racine de votre répertoire utilisateur. Suivez(Follow) en supposant que C:\Users\guymc est votre répertoire d'utilisateurs.

Le répertoire nommé This se trouve dans le répertoire Documents . Pour se déplacer dans le répertoire Documents , nous utilisons la commande DOS cd Documents

Vous verrez l'invite changer pour C:\Users\guymc\Documents . C'est bon. Nous travaillons plus près des annuaires ce qui facilitera les choses.

Copier le répertoire à l'aide de Copy-Item

Nous voulons copier le répertoire This et son contenu dans ThatNewFolder . Utilisons l'applet de commande PowerShell Copy-Item avec les paramètres -Destination et -Recurse .

-Destination indique à PowerShell où nous voulons que la copie soit. -Recurse indique à PowerShell de copier tous les éléments à l'intérieur vers la destination. La copie laisse les originaux là où ils se trouvent et crée tous les nouveaux dans la destination.

Copy-Item This -Destination ThatNewFolder -Recurse

Déplacer le répertoire à l'aide de Move-Item

Disons que nous voulons déplacer le répertoire This, et tous les répertoires et fichiers qu'il contient, vers ThatNewFolder . Le déménagement ne laisse pas l'original en place.

Nous pouvons utiliser l'applet de commande PowerShell Move-Item avec les paramètres -Path et -Destination . -Path définit l'élément que nous voulons déplacer et -Destination indique à PowerShell où nous le voulons. 

L'applet de commande placera This dans ThatNewFolder . Il déplacera également tout ce qui se trouve dans le répertoire This. Move-Item peut être utilisé pour déplacer des fichiers ou des répertoires, et cela fonctionne quel que soit le chemin du fichier ou la longueur du nom de fichier.

Move-Item -Path This -Destination ThatNewFolder

Pour vous assurer que cela a fonctionné, utilisez la commande cd ThatNewFolder pour accéder à ThatNewFolder . Utilisez ensuite la commande dir pour répertorier les répertoires dans ThatNewFolder . Vous verrez le répertoire Ce répertoire est là.

Supprimer le répertoire à l'aide de Remove-Item

Si nous voulons supprimer le répertoire This et tout ce qu'il contient, nous utilisons l' applet de commande Remove-Item .

L' applet de commande Remove-Item possède une sécurité intégrée qui rend difficile la suppression d'un répertoire contenant des éléments. Dans notre exemple, nous savons que nous voulons tout supprimer, nous allons donc utiliser les paramètres -Recurse pour qu'il supprime tout ce qu'il contient et -Force pour qu'il le fasse sans nous demander si nous sommes sûrs de chaque élément qu'il contient.

Être averti! Récupérer quoi que ce soit supprimé de cette façon serait extrêmement difficile. Vous pouvez essayer les méthodes décrites dans Comment récupérer des fichiers supprimés accidentellement , mais ne vous attendez pas à grand-chose.

Remove-Item This -Recurse -Force

Vous pouvez réutiliser la commande dir pour vous assurer qu'elle a disparu.

Faire en sorte que Windows 10 accepte les chemins de fichiers longs(Make Windows 10 Accept Long File Paths)

Si vous savez que vous allez utiliser de longs chemins de fichiers et de longs noms de fichiers à plusieurs reprises, il est plus facile de faire fonctionner Windows pour vous. Inutile d' utiliser PowerShell pour faire le travail tous les jours.

Il y a deux façons de procéder. L'un est destiné aux utilisateurs de Windows 10 Home et l'autre aux utilisateurs de Windows 10 Pro ou Enterprise . Ces méthodes peuvent fonctionner pour Windows 8.1 ou une version antérieure, mais nous ne pouvons pas le garantir.

Faire(Make) en sorte que Windows 10 Home accepte les chemins de fichiers longs(Home Accept Long File Paths)

Pour que Windows 10 Home accepte les longs chemins de fichiers, nous devons ouvrir l' Éditeur du Registre(Registry Editor) . Si vous n'avez jamais travaillé dans l' Éditeur du Registre(Registry Editor) auparavant, soyez prudent. La suppression ou la modification accidentelle d'éléments ici peut empêcher Windows de fonctionner complètement.

Faites toujours une sauvegarde de votre registre avant d'apporter des modifications. Découvrez tout ce que vous devez savoir à ce sujet dans notre Guide ultime de sauvegarde et de restauration du registre Windows( Ultimate Guide to Backing Up and Restoring the Windows Registry) .

Une fois l' Éditeur(Editor) du Registre ouvert et votre sauvegarde effectuée, accédez à l'emplacement HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem et recherchez la clé LongPathsEnabled .

Double-cliquez sur LongPathsEnabled . Dans le champ Données de la valeur :(Value data:) assurez-vous que le chiffre 1 s'y trouve. Cliquez sur OK pour valider la modification.

Quittez l' Éditeur du Registre(Registry Editor) et vous devriez maintenant pouvoir travailler avec des chemins de fichiers longs et fous.

Faire(Make) en sorte que Windows 10 Pro ou Enterprise accepte les longs chemins de fichiers(Pro Or Enterprise Accept Long File Paths)

Pour permettre à Windows 10 Pro ou Entreprise(Enterprise) d'utiliser des chemins de fichiers longs, nous allons utiliser l' éditeur de stratégie de groupe(Group Policy Editor) . C'est un outil qui nous permet de définir des politiques sur le fonctionnement de Windows au niveau de l'ordinateur et de l'utilisateur.

Nous avons plusieurs articles sur l'utilisation de la stratégie de groupe pour effectuer des actions telles que la désactivation ou l'activation des options d'Internet Explorer( disabling or enabling Internet Explorer options) ou l'ajout d'un message à l'écran de connexion( adding a message to the logon screen) .

Ouvrez l' éditeur de stratégie de groupe(Group Policy Editor) en allant dans le menu Démarrer(Start) et en tapant gpedit . Le premier résultat devrait être Modifier la stratégie de groupe(Edit group policy) . Double-cliquez dessus.

Une fois l' éditeur de stratégie de groupe(Group Policy Editor) ouvert, accédez à Computer Configuration > Administrative Templates > System > Filesystem . Vous y verrez la politique Enable Win32 long paths .

Double-cliquez dessus pour modifier le paramètre de stratégie. Changez-le de Disabled à Enabled , puis cliquez sur le bouton OK pour valider la modification. 

La politique peut ne pas entrer en vigueur immédiatement. Vous pouvez cependant forcer la stratégie de groupe à mettre à jour( force the group policy to update) .

C'est ça(That’s It)

Il existe d'autres façons de contourner les noms de fichiers longs et les chemins de fichiers, mais ce que nous avons vu ici sont les méthodes les plus simples et les plus efficaces.



About the author

Je suis un ingénieur en matériel avec plus de 10 ans d'expérience dans le domaine. Je me spécialise dans les contrôleurs et les câbles USB, ainsi que dans les mises à niveau du BIOS et le support ACPI. Dans mes temps libres, j'aime aussi bloguer sur divers sujets liés à la technologie et à l'ingénierie.



Related posts