J'ai besoin de faire des sauvegardes de certains fichiers sur un réseau partagé. Cependant, je dois copier ces fichiers sur mon disque local avant de graver les disques car ces fichiers peuvent être utilisés. Certains fichiers ne sont pas copiés car leur chemin d'accès est trop long. Existe-t-il une solution de contournement autre que la modification de la structure des fichiers ?
Réponses
Trop de publicités?La longueur maximale du chemin est de 260 dans Windows Vista/7. Je peux vous recommander trois solutions :
- (si le chemin est trop long) Copiez d'abord le dossier aux niveaux supérieurs dans l'explorateur Windows, puis déplacez-le sur votre ordinateur local.
- (si les noms de fichiers sont trop longs) Essayez d'abord de les zipper/rar/7z avec une application d'archivage, puis copiez le fichier d'archive sur votre ordinateur local et extrayez ensuite le contenu.
- Utilisez des applications tierces.
Toutes ces suggestions supposent que vous disposez d'une sorte d'accès en écriture sur le dossier partagé du réseau/ordinateur. Si vous ne pouvez pas faire l'une de ces suggestions, vous aurez peut-être besoin de l'aide de votre administrateur.
Peut accéder à des longueurs de chemin allant jusqu'à ~32 767¹ caractères en les préfixant avec \\?\
.
\\?\C:\Some\Really\Long\Path
Cela fonctionne à partir de l'invite de commande et de tout autre programme qui utilise les méthodes de l'Api Win32 Unicode, y compris les applications .Net.
( Documentation )
Elle nécessite un système de fichiers prenant en charge les chemins longs (par exemple NTFS), mais si vous avez un problème de chemin long, c'est un fait acquis.
Notez que certaines applications et beaucoup d'outils natifs (comme Explorer) auront des problèmes avec ces chemins. alors utilise ça pour te sortir d'un trou, pas pour y entrer.
Vous pouvez également utiliser une variante \\?\UNC\
pour accéder à de longs chemins à travers les partages du réseau...
\\?\UNC\server_name\share_name\...
¹ Pour ceux qui sont intéressés, il es 32 767 et non 32 768 car il s'agit d'une chaîne de caractères non terminée mais le \\?\
peut être étendu, consommant certains caractères, donc ne comptez pas sur un décompte précis.
FastCopy est un projet open source en C écrit par SHIROUZU Hiroaki et est "le logiciel de copie/suppression le plus rapide sous Windows". Il prend en charge l'UNICODE et les noms de chemin de fichier supérieurs à MAX_PATH (260 caractères).
Si vous avez des centaines de chemins qui sont trop longs à réparer, utilisez " Outil Path Tool Long Auto Fixer " Outil
J'utilise une solution logicielle beaucoup plus simple :
FreeFileSync ( Portable ) pour faire le travail à merveille. (il n'y a pas de restriction concernant les noms de fichiers longs).
Vous pouvez soit
1) Utilisation FreeFileSync a copier les fichiers au tout début OU
2) dans mon cas, J'ai copié des fichiers avec Explorer, il m'alerte que certains fichiers ne sont pas copiés à cause de noms de fichiers trop longs. Ensuite, je utiliser FreeFileSync pour synchroniser les fichiers restants (non copiés) .
Le point positif est que la vitesse de copie est assez rapide.
La solution la plus rapide que j'ai utilisée dans cette situation a été de renommer les dossiers aux noms trop longs en quelque chose comme "1".
En outre, de manière générale, j'essaie d'expliquer à tous les utilisateurs de ne pas mettre l'histoire de leur vie dans un nom de fichier ou de dossier.
Tout gestionnaire de fichiers digne de ce nom peut gérer des noms de fichiers de plus de 260 caractères.