Использование проводника Windows для копирования большой папки, действительно, не очень полезно по двум причинам.
- Основная причина в том, что копирование файла может произойти сбой по той или иной причине, но он никогда не возвращается, и будет выглядеть так, как будто копирование все еще продолжается, где, на самом деле, он просто застрял. Это может тратить много времени на пользователя.
- Если это не удалось из-за ошибки, это не говорит, почему это не удалось, в чем проблема.
Например, копирование файла может произойти сбой, потому что среди 40 ГБ данных был один недопустимый ярлык, где цель отсутствовала. Это не удастся выполнить копирование, но пользователь будет знать об этом, и это будет выглядеть так, как будто копирование еще продолжается. Могут быть и другие причины неудач, которых мы не знали бы.
Решения:
- Лучше всего копировать большие папки в командной строке и использовать `xcopy '. Преимущество заключается в том, что если он потерпит неудачу, он немедленно вернется, и вы будете знать. Это сказало, что это все еще потерпит неудачу с вышеупомянутой ситуацией (недопустимый ярлык), но выдаст ошибку правильно.
- Лучший выбор - развернуть скрытую копию, которая не заботится о файлах, а копирует биты в биты. Лучшие инструменты есть
scp
или,rsync
но они не всегда доступны в Windows.
Использование SCP в Windows
Установите cygwin в Windows и используйте scp
команду из его оболочки следующим образом, предполагая скопировать c: \ BigFolder на USB-накопитель F: \ BigFolderBackup /
scp -r /cygdrive/c/BigFolder/ /cygdrive/f/BigFolderBackup/
Где -r для рекурсивного копирования, что означает копирование всех подпапок и их файлов.
Обновить
Как отмечает Скотт в комментариях, так как его копия на локальной машине так же cp
подойдет. Синтаксис по сути идентичен.
Другой сценарий, с которым я столкнулся, - это когда папка содержит файл, в котором у меня не было разрешений на чтение. Наш ИТ-отдел не позволяет пользователям запускать утилиту CCleaner, поэтому разрешение на чтение для нее отключено.
Я использовал cp
это время, и оно прошло хорошо. Он сообщил об соответствующей ошибке в этом файле (не скопировал его), но не остановил операцию копирования и продолжил копирование всего остального. Еще одна причина, по которой этот подход побеждает.