Copiez de nombreux fichiers en ignorant les erreurs

14

J'essaie de copier des fichiers à partir d'un disque dur corrompu. Tous ne seront pas copiés - certains ont des erreurs CRC et se bloquent. Je voudrais ignorer ces fichiers et continuer avec le reste de la copie - mais le processus de copie s'arrête jusqu'à ce que je clique sur l'une des options de la fenêtre d'erreur. Existe-t-il un moyen pour moi de tout copier, de dire au système d'exploitation de supprimer cette invite et de ne pas copier les fichiers corrompus?

C'est sur Windows 7.

Goro
la source

Réponses:

15

Le moyen le plus rapide serait probablement d'utiliser xcopy via une instance d'invite de commandes, dans un contexte similaire à:

xcopy $SOURCE $DESTINATION /C /E /Q 

L'indicateur / C force xcopy à ignorer tous les problèmes de copie; le drapeau / E ordonne à xcopy de copier les dossiers (même vides), et le drapeau / Q en fait une opération silencieuse (sinon, vous obtiendrez une entrée pour chaque chose copiée).

Un exemple serait:

xcopy d:\*.* c:\recovery /C /E /Q
Rilgon Arcsinh
la source
pourquoi pas cp??
Vineet Menon
2
@VineetMenon En supposant que vous voulez dire la commande de copie, c'est parce qu'elle n'a pas la nature "continuer malgré les erreurs" que l'interrogateur demande. Si vous voulez dire la commande Linux cp, c'est parce que la question est liée à Windows 7.
Rilgon Arcsinh
ooh ... Je voulais dire cpque sous Windows, je ne connaissais pas les capacités d'ignorance sans erreur !! :( thx
Vineet Menon
6
 robocopy.exe with /r:0 /w:0 

pour une première passe, puis augmentez jusqu'à /r:1

fstx
la source
Robocopy fait partie des "Outils du Kit de ressources Windows Server 2003" que vous pouvez télécharger ici: microsoft.com/download/en/details.aspx?id=17657
LawrenceC
3
Oui, mais il fait également partie de Windows 7
fstx
3

Peut-être un simple extrait de Powershell?

copy-item -path E:\myfolders -destination C:\newfolder -container -force -recurse -erroraction continue -warningaction continue -confirm:$false

Pour exécuter, ouvrez la console Powershell (disponible dans tous les Windows depuis XP), modifiez les paramètres -path et -directory dans votre dossier de départ et de destination, copiez la commande dans la fenêtre PS et appuyez sur Entrée. Si vous ne pouvez pas copier, activez le mode d'édition rapide dans les propriétés de la console - cette option de collage de cartes sous le bouton droit de la souris dans Win7.

Peut nécessiter la fermeture de chemins entre guillemets '' s'il y a des signes spéciaux dans les noms, comme les espaces.

Cette exécution dans Powershell doit copier tous les fichiers et sous-répertoires dans le répertoire spécifié. Continuera la copie malgré une erreur avec le fichier spécifié. Pour chaque fichier cassé que la commande ne peut pas copier, vous recevrez beaucoup de sortie rouge dans la console. Si vous ne voulez pas les voir, changez erroraction pour continuer en silence.

M'cin
la source
2

Dans le passé, j'ai utilisé TeraCopy . Une autre option serait une copie au niveau du bloc - par exemple, en utilisant dd ou un utilitaire de clonage de disque. Personnellement, je démarrerais à partir d'un CD Linux en direct et utiliserais dd_rescue / ddrescue si les données sont importantes.

Rob
la source
1

Je suis tombé sur "Le copieur imparable de Roadkil". Il a une interface graphique et a été conçu spécialement pour ces cas.

Decio
la source