Скопіюйте безліч файлів, ігноруючи помилки


14

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

Це в Windows 7.

Відповіді:


15

Найшвидший спосіб, можливо, буде використовувати xcopy через екземпляр командного рядка в контексті, подібному до:

xcopy $SOURCE $DESTINATION /C /E /Q 

Прапор / C змушує xcopy ігнорувати будь-які проблеми з копіюванням; прапор / E наказує xcopy для копіювання папок (навіть порожніх), а прапор / Q робить це тихою операцією (інакше ви отримаєте запис для кожної копійованої речі).

Прикладом може бути:

xcopy d:\*.* c:\recovery /C /E /Q

чому б не cp??
Vineet Menon

2
@VineetMenon Якщо припустити, що ви маєте на увазі команду копіювання, це тому, що вона не має характеру "продовжувати, незважаючи на помилки", про який питає запитувач. Якщо ви маєте на увазі команду Linux cp, це тому, що питання стосується Windows 7.
Rilgon Arcsinh

ooh ... я мав на увазі, cpяк в Windows, не знав про можливості ігнорування помилок !! :( thx
Vineet Menon

6
 robocopy.exe with /r:0 /w:0 

за перший прохід, а потім збільшити до /r:1


Robocopy є частиною "Інструментів набору ресурсів Windows Server 2003", які ви можете завантажити тут: microsoft.com/download/uk/details.aspx?id=17657
LawrenceC

3
Так, але він також є частиною Windows 7
fstx

3

Може, якийсь простий фрагмент Powershell?

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

Для запуску відкрийте консоль Powershell (доступна в кожній Windows з XP), змініть параметри -ath та -directory у папку початку та призначення, скопіюйте команду у вікно PS та натисніть клавішу Enter. Якщо ви не можете скопіювати, увімкніть режим швидкого редагування у властивостях консолі - ця опція вставки вставить під праву кнопку миші в Win7.

Можливо, потрібні закриття контурів у лапках '', якщо в іменах є спеціальні знаки, наприклад пробіл.

Цей запуск у Powershell повинен скопіювати всі файли та субраторії у вказаний каталог. Копіювання буде продовжено, незважаючи на помилку із вказаним файлом. За кожен зламаний файл, який команда не може скопіювати, ви отримаєте багато червоного виводу в консолі. Якщо ви не хочете бачити їх, змініть помилку на беззвучне продовження.


2

У минулому я використовував TeraCopy . Іншим варіантом може бути копія на рівні блоку - наприклад, використання DD або утиліта клонування диска. Особисто я б завантажувався з живого компакт-диска Linux і використовував dd_rescue / ddrescue, якщо дані важливі.


2

Параметр xcopy не вдасться із помилкою "Недостатнє місце". Дивіться, наприклад, це посилання:

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

Спершу я спробував xcopy, як запропонував користувач, але потім я застосував роботокопію, яка входить у Windows 7, і це вдалося:

призначення джерела роботокопії / E

/ E - це рекурсивно з порожніми каталогами.

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


1

Я натрапив на "Копір безперестанку Roadkil". Він має графічний інтерфейс і був розроблений спеціально для цих випадків.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.