10

Я пытаюсь скопировать файлы с поврежденного жесткого диска. Не все из них будут копировать - некоторые имеют ошибки CRC и останавливаются. Я хотел бы пропустить эти файлы и продолжить с остальной частью копии - но процесс копирования останавливается, пока я не нажму один из параметров в окне ошибки. Есть ли способ для меня, чтобы скопировать все, сказать ОС, чтобы подавить это приглашение и просто не копировать поврежденные файлы?

Это на Windows 7.

6 ответов6

13

Самый быстрый способ - использовать xcopy через экземпляр командной строки в контексте, аналогичном следующему:

xcopy $SOURCE $DESTINATION /C /E /Q 

Флаг /C заставляет xcopy игнорировать любые проблемы с копированием; флаг /E приказывает xcopy копировать папки (даже пустые), а флаг /Q делает это тихой операцией (в противном случае вы получите запись для каждой копируемой вещи).

Примером может быть:

xcopy d:\*.* c:\recovery /C /E /Q
6
 robocopy.exe with /r:0 /w:0 

для первого прохода, затем увеличьте до /r:1

2

Может быть, какой-нибудь простой фрагмент Powershell?

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

Чтобы запустить, откройте консоль Powershell (доступна в каждой Windows начиная с XP), измените параметры -path и -directory в вашей начальной и целевой папке, скопируйте команду в окно PS и нажмите enter. Если вы не можете скопировать, включите режим быстрого редактирования в свойствах консоли - эта опция вставки карт под правой кнопкой мыши в Win7.

Может потребоваться закрытие путей в кавычках '', если в именах есть специальные знаки, например, пробел.

Этот запуск в Powershell должен скопировать все файлы и подкаталоги в указанный каталог. Продолжит копирование, несмотря на ошибку с указанным файлом. Для каждого испорченного файла, который команда не может скопировать, вы получите много красного вывода в консоли. Если вы не хотите видеть это, измените ошибку, чтобы продолжить.

2

Параметр xcopy завершится с ошибкой "Недостаточно места". Смотрите эту ссылку, например:

http://en.wikipedia.org/wiki/XCOPY#Limitation

Сначала я попробовал xcopy, как предложил пользователь, но затем я использовал robocopy, который включен в Windows 7, и это удалось:

Robocopy источник назначения /E

/E рекурсивно с пустыми каталогами.

http://en.wikipedia.org/wiki/Robocopy#Common_usage_scenarios

2

В прошлом я использовал TeraCopy. Другим вариантом будет копирование на уровне блоков - например, с использованием dd или утилиты клонирования диска. Лично я загрузился бы с живого компакт-диска Linux и использовал бы dd_rescue/ddrescue, если данные важны.

1

Я наткнулся на «Неудержимый копир Roadkil». Он имеет графический интерфейс и был разработан специально для этих случаев.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .