Copie muchos archivos ignorando errores

14

Estoy tratando de copiar archivos de un disco duro dañado. No todos ellos copiarán, algunos tienen errores de CRC y se detendrán. Me gustaría omitir esos archivos y continuar con el resto de la copia, pero el proceso de copia se detiene hasta que haga clic en una de las opciones en la ventana de error. ¿Hay alguna manera de copiar todo, decirle al sistema operativo que suprima ese aviso y simplemente no copie los archivos dañados?

Esto está en Windows 7.

Goro
fuente

Respuestas:

15

Es probable que la forma más rápida sea usar xcopy a través de una instancia del símbolo del sistema, en un contexto similar a:

xcopy $SOURCE $DESTINATION /C /E /Q 

El indicador / C obliga a xcopy a ignorar cualquier problema con la copia; el indicador / E ordena xcopy para copiar carpetas (incluso las vacías), y el indicador / Q lo convierte en una operación silenciosa (de lo contrario, obtendrá una entrada para cada cosa copiada).

Un ejemplo sería:

xcopy d:\*.* c:\recovery /C /E /Q
Rilgon Arcsinh
fuente
por que no cp??
Vineet Menon
2
@VineetMenon Suponiendo que te refieres al comando copiar, es porque no tiene la naturaleza de "continuar a pesar de los errores" que el interlocutor está pidiendo. Si te refieres al comando cp de Linux, es porque la pregunta está relacionada con Windows 7.
Rilgon Arcsinh
ooh ... quise decir cpcomo en Windows, ¡no sabía sobre las capacidades de ignorar sin errores! :( thx
Vineet Menon
6
 robocopy.exe with /r:0 /w:0 

para un primer pase, luego aumente a /r:1

fstx
fuente
Robocopy es parte de las "Herramientas del kit de recursos de Windows Server 2003" que puede descargar aquí: microsoft.com/download/en/details.aspx?id=17657
LawrenceC
3
Sí, pero también es parte de Windows 7
fstx
3

¿Quizás algún fragmento de Powershell simple?

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

Para ejecutar, abra la consola Powershell (disponible en todas las ventanas desde XP), cambie los parámetros -path y -directory a su carpeta de inicio y destino, copie el comando en la ventana PS y presione Intro. Si no puede copiar, habilite el modo de edición rápida en las propiedades de la consola: esta opción de pegar mapas se encuentra debajo del botón derecho del mouse en Win7.

Podría requerir cerrar las rutas entre comillas '' si hay signos especiales en los nombres, como espacios en blanco.

Esta ejecución en Powershell debe copiar todos los archivos y subdirectorios al directorio especificado. Continuará copiando a pesar de algún error con el archivo especificado. Por cada archivo roto que ese comando no pueda copiar, recibirá una gran cantidad de resultados rojos en la consola. Si no desea verlos, cambie la erroracción para continuar en silencio.

M'cin
fuente
2

En el pasado, he usado TeraCopy . Otra opción sería una copia a nivel de bloque, por ejemplo, usando dd o una utilidad de clonación de disco. Personalmente, arrancaría desde un CD de Linux en vivo y usaría dd_rescue / ddrescue si los datos son importantes.

robar
fuente
1

Encontré "Copiadora imparable de Roadkil". Tiene como interfaz gráfica y fue diseñado especialmente para esos casos.

Decio
fuente