Comment copier des fichiers dont le chemin d'accès est trop long sous Windows?

52

Je dois faire des sauvegardes de certains fichiers sur un partage réseau. Cependant, je dois copier ces fichiers sur mon lecteur local avant de les graver, car ces fichiers sont peut-être en cours d'utilisation. Certains fichiers ne seront pas copiés car le chemin du fichier est trop long. Existe-t-il une solution de contournement autre que la modification de la structure du fichier?

Brian Sturm
la source
1
Voir aussi Fenêtre Limitation du nom de chemin de 256 caractères .
Gilles 'SO- arrête d'être méchant'

Réponses:

27

La longueur maximale du chemin est de 260 dans Windows Vista / 7. Je peux recommander trois solutions:

  • (si le chemin est trop long) Copiez d'abord le dossier dans les niveaux supérieurs de l'explorateur Windows, puis déplacez-le sur votre ordinateur local.
  • (si les noms de fichier sont trop longs) Essayez d’abord de les compresser avec une application d’archivage puis de copier le fichier d’archive sur votre ordinateur local, puis d’extraire le contenu.
  • Utilisez des applications tierces.

Toutes ces suggestions supposent que vous avez un accès en écriture sur le dossier / l'ordinateur partagé du réseau. Si vous ne pouvez effectuer aucune de ces tâches, vous aurez peut-être besoin de l'aide de votre administrateur.

Gani Simsek
la source
8
compresser les fichiers a fonctionné!
Brian Sturm
@BrianSturm, en supposant qu'il s'agisse d'applications tierces
Pacerier
Bien que je déteste vraiment cela à propos de Windows ... la solution zip m'a vraiment sauvé la journée. Merci!
Bas Slagter
67
robocopy /E source destination

Copie robuste de fichiers et de dossiers .

Windows 7 et supérieur:
Robocopy XP027 est une commande standard sous Windows 7 et supérieur.

NT 4 / Windows 2000:
Les outils du kit de ressources Windows Server 2003 incluent Robocopy XP010,
qui peut être exécuté sur NT 4 / Windows 2000.

Windows 95 ou NT 3.5:
Robocopy ne s'exécute pas sous Windows 95 ou NT 3.5. (Robocopy est une application Unicode).

Solution de contournement pour Windows 95 ou NT 3.5: l'
interface graphique de Microsoft Robocopy installe Robocopy XP026 sur C: \ Windows \ system32.
Cette version peut s'exécuter sur des systèmes d'exploitation plus anciens
et inclut certaines fonctionnalités de XP027 (/ BYTES), mais elle offre une gestion des niveaux d'erreur concurrente.

Robocopy "Jobs" et l'option "Monitor source" constituent une alternative à la configuration d'une tâche planifiée pour exécuter un fichier de commandes avec une commande Robocopy.

utilisateur19496
la source
6
C'est la solution. Si vous souhaitez désactiver la prise en charge des chemins dont la longueur est supérieure à 256, transmettez l' /256indicateur. Merci beaucoup! J'ai lutté avec cela toute la journée.
Automatico
1
incroyable! Solution je n'ai jamais connu jusqu'à présent cette solution bult-in.
Islam
2
Excellente solution - quelques remarques supplémentaires: (1) la destination doit inclure le nom du dossier si vous le copiez - par exemple, si vous copiez C: \ Windows vers D: \ Windows, la commande serait robocopy /E C:\Windows D:\Windows(c.-à-d. Pas robocopy / EC: \ Windows D: \ ). (2) Peut déplacer des fichiers au lieu de les copier en utilisant l' /MOVEoption.
Steve Chambers le
Sous Windows, il s’agit d’une solution fiable pour l’utilisation du NAS. Vous pouvez démarrer une copie de millions de fichiers et si le transfert est interrompu à mi-parcours, il reprendra là où il s'était arrêté, sans recopier tous les fichiers déjà transférés. C'est très utile lorsque vous avez une connexion Wi-Fi qui tombe de façon intermittente et que vous souhaitez toujours pouvoir déplacer un grand nombre de fichiers avec un achèvement garanti.
user19496
Cela ne fonctionne pas pour les fichiers portant des noms non valides sous Windows. Y at-il un drapeau pour cela qui aidera?
Richard
16

Vous pouvez accéder à des longueurs de chemin allant jusqu’à environ 32 000 caractères en préfixant avec \\?\.

\\?\C:\Some\Really\Long\Path

Cela fonctionne à partir de l'invite de commande et de tout autre programme utilisant les méthodes Api Win32 Unicode, y compris les applications .Net. Cela 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 d'accès long, c'est une donnée.

Notez que certaines applications et de nombreux outils natifs (tels que Explorer) auront des problèmes avec ces chemins , utilisez-les pour vous sortir du trou, pas dans un.

De base
la source
2
C'est un très bon conseil. Je travaille également pour gérer les noms de fichiers com1, com2, etc.
Andreas Reiff
2

FastCopy est un projet C open source écrit par SHIROUZU Hiroaki et est "Le logiciel de copie / suppression le plus rapide sous Windows". Il prend en charge les noms de chemin de fichier UNICODE et plus de MAX_PATH (260 caractères).

Si vous avez des centaines de chemins trop longs à corriger, utilisez l' outil "Outil de cheminement ".

Markus
la source
2
FastCopy est vraiment excellent. En particulier, contrairement à RoboCopy, il fait des choses utiles avec les jonctions / liens de répertoire.
rlpowell
Excellent. Alternativement, il existe une réponse SO qui répertorie les programmes de copie rapide similaires, qui sont aussi généralement compatibles avec les chemins étendus.
ingyhere
-3

La solution la plus rapide que j'ai utilisée dans cette situation consistait à renommer les dossiers de noms très longs en quelque chose comme "1".

De plus, en règle générale, j'essaie d'expliquer à tous les utilisateurs de ne pas mettre leur histoire de vie dans un nom de fichier ou de dossier.

Tout bon gestionnaire de fichiers peut gérer des noms de fichiers de plus de 260 caractères.

Surmente
la source