Мне, наконец, удалось достичь этого, и я подумал, что это может помочь другим в удовлетворении таких потребностей. Ну, как я упоминал ранее, я ссылался на эту статью базы знаний и использовал следующие команды для достижения без потери данных.
Я не мог скопировать сам каталог, но мне удалось скопировать все содержимое в нем без потери разрешения. Так вот как
Во-первых, я создал папку, чтобы скопировать все содержимое, находящееся в директории источника, и использовал xcopy
чтобы скопировать все файлы и папки, сохранив его разрешения.
xcopy c:\source_folder_name e:\destination_folder_name /O /X /E /H /K
- /E - Копирует папки и подпапки, включая пустые.
- /H - Копирует скрытые и системные файлы.
- /K - Копирует атрибуты. Как правило, Xcopy сбрасывает атрибуты только для чтения.
- /O - Копирует владельца файла и информацию ACL.
- /X - Копирует настройки аудита файлов (подразумевается /O).
Это обойдется без каких-либо дополнительных вопросов. И как только я это сделал, я заметил разницу между количеством копий и источником. Поэтому я использовал robocopy
чтобы убедиться, что все файлы на месте, создав файл журнала при зеркалировании.
Предполагая, что путь вашей командной строки - C:/..
robocopy c:\source_folder_name e:\destination_folder_name /MIR /LOG:log.txt
- /MIR - Зеркальное копирование файлов и копирование / изменение / удаление между источником и местом назначения.
- / LOG - Создает файл журнала процесса
Примечание: файл журнала будет создан в том месте, где находится диск или путь, указанный в командной строке. Например: если это C:/, то журнал будет там).
Как только robocopy
сделал свое дело, я однажды проверил свойства, чтобы убедиться, что оба подсчитывают. Небесный да! это подсчитывалось, и я проверил журнал, чтобы увидеть, какой файл не был скопирован. Как я и подозревал, это был просто thumbs.db и несколько других файлов, которые были опущены.
PS: Имейте в виду, когда вы используете robocopy для зеркалирования, так как он может удалить / изменить исходные файлы в любом случае, если не может соответствовать цели (очень редко, но может случиться). Я использовал его, потому что число полей в новом месте назначения было ниже, чем в источнике. Кроме того, у меня была задняя копия исходного файла, чтобы избежать потери данных. Кроме того, обе эти команды будут выполняться без каких-либо проблем.
Надеюсь это поможет!