2012-10-01 21:32:51 +0000 2012-10-01 21:32:51 +0000
62
62

Используя робокопирование и исключая несколько каталогов

, я пытаюсь скопировать некоторые каталоги с сервера, прежде чем восстанавливать из резервной копии (моя последняя резервная копия была повреждена, поэтому я должен использовать более старую :( ). Я нахожусь в среде восстановления Windows и имею доступ к файловой системе сервера G: , я пытаюсь скопировать некоторые каталоги с сервера, прежде чем восстанавливать из резервной копии (моя последняя резервная копия была повреждена, поэтому я должен использовать более старую :( ). Я нахожусь в среде восстановления Windows и имею доступ к файловой системе сервера и моим носителям резервных копийC: , я пытаюсь скопировать некоторые каталоги с сервера, прежде чем восстанавливать из резервной копии (моя последняя резервная копия была повреждена, поэтому я должен использовать более старую :( ). Я нахожусь в среде восстановления Windows и имею доступ к файловой системе сервера G: , я пытаюсь скопировать некоторые каталоги с сервера, прежде чем восстанавливать из резервной копии (моя последняя резервная копия была повреждена, поэтому я должен использовать более старую :( ). Я нахожусь в среде восстановления Windows и имею доступ к файловой системе сервера и моим носителям резервных копий . Но, так как я больше знаком с Linux, у меня небольшие проблемы с командной строкой в Windows, а именноrobocopy`.

я хочу скопировать несколько каталогов (поддерживая одну и ту же структуру каталогов) с G:\ на C:\, исключая при этом другие (а именно, папки Windows и Program Files). Я не могу разобраться в синтаксисе опции /XD. Я надеялся сделать что-то вроде:

robocopy G: C:\backup /CREATE /XD "dir1","dir2", ...

NOTE: Хочу пояснить, что я хочу скопировать актуальные файлы, поддерживая при этом структуру каталогов. Я только что проверил, и /create создает только пустые файлы. Странно.

Ответы (4)

93
93
93
2012-10-01 22:13:49 +0000

Я разобрался с этим с помощью небольшого триала и ошибки и /L (чтобы протестировать команду, прежде чем делать это по-настоящему). Команда, которой я заканчиваю:

robocopy G: C:\backup /MIR /XD G:\dir1 "G:\dir 2" G:\dir3 ...

Видимо, включая трейлинговые слэши, удерживает робокопирование от правильного разбора списка каталогов, поэтому не включайте трейлинговые слэши в имена каталогов и не забудьте поместить кавычки вокруг каталогов с пробелами в имени.

Опция /MIR поддерживает ту же самую структуру каталогов при копировании файлов.

Правка: После некоторых дополнительных исследований я немного улучшил команду:

robocopy G: C:\backup /MIR /Z /LOG:C:\todaysdate-backup.log /XF *.iso *.log *.au /XD G:\dir1 ...

Добавлено следующее:

  • /Z позволяет перезапускать задание
  • /LOG:<logfile path> довольно понятно.
  • /XF используется для исключения определенных типов файлов, чтобы не занимать так много времени.
7
7
7
2017-10-22 10:08:32 +0000

вы должны повторить /XDpart

C:\>robocopy "C:\Users\weberjn\Google Drive" "u:\Google Drive" /e /dcopy:t /copy:DT /r:0 /XD "C:\Users\weberjn\Google Drive\photos" /XD "C:\Users\weberjn\Google Drive\Google Photos"
5
5
5
2016-04-07 19:59:41 +0000

Я знаю, что это не ответ на вопрос ОП, но кому-нибудь из Гугла: XD не будет работать в файле задания, если вы используете кавычки.

Плохо:

::
:: Exclude These Directories :
::
    /XD :: eXclude Directories matching these names
        "Temporary Internet Files"

Хорошо:

::
:: Exclude These Directories :
::
    /XD :: eXclude Directories matching these names
        Temporary Internet Files

Место столько исключений, сколько хотите, строка за строкой, без использования кавычек (есть ли пробелы или нет).

Я обнаружил это с помощью переключателя командной строки /SAVE:myjobname, который убирает кавычки из моих каталогов, которые я цитирую!

2
2
2
2018-03-18 05:36:38 +0000

Моим решением было создание .txt файлов, содержащих файлы или каталоги, которые я хочу включить или исключить. Эти файлы находятся в подпапке “rcXcludes” в моей папке “Backup”. Мой метод именования файлов следующий. Я предислову их с помощью “rc” (для робокопии), затем некоторой распознаваемой нотации для приложения или части файловой системы в команде робокопии, затем добавляю “B” или “R” (для Резервного копирования или Восстановления), затем “I” или “X” (для Исключения или Исключения), затем “D” или “F” (для Каталога или Файла). Я окружаю каждую запись двойными кавычками и пробелом между записями. Исключаемый" файл может иметь файлы или каталоги, но каталоги должны иметь трейлинговую обратную косую черту. В файле “Exclude” для каталогов вы не используете трейлинговую обратную косую черту. Любые записи в каталогах относятся к исходному пути в команде robocopy. Все содержимое любого из этих .txt-файлов должно быть на одной строке и not должно иметь обратный поток строк. В моем пакетном файле я использую команду SET /P для импорта .txt файла в переменную. Затем я использую эти переменные для FILES или после /XF или /XD. Например, чтобы создать резервную копию профиля текущего пользователя Chrome без копирования всей папки “Default”, я использую следующее.

rcChromeBIF.txt  
"Bookmarks" "Custom Dictionary.txt" "Extension Cookies" "Favicons" "History" "Login Data" "Preferences" "Top Sites" "Visited Links" "Web Data" "Databases\" "Extensions\" "Local Storage\" "Plugin Data\" "User Scripts\" "User StyleSheets\"

rcChromeBXF.txt  
"Bookmarks.bak" "ChromeDWriteFontCache" "Cookies" "Cookies-journal" "Current Session" "Current Tabs" "Extension Cookies-journal" "Favicons-journal" "Google Profile.ico" "History Provider Cache" "History-journal" "Last Session" "Last Tabs" "Login Data-journal" "Network Action Predictor" "Network Action Predictor-journal" "Network Persistent State" "Origin Bound Certs" "Origin Bound Certs-journal" "QuotaManager" "QuotaManager-journal" "README" "Secure Preferences" "Shortcuts" "Shortcuts-journal" "Top Sites-journal" "TransportSecurity" "Web Data-journal"

rcChromeBXD.txt  
"Application Cache" "Cache" "data_reduction_proxy_leveldb" "Extension State" "File System" "GPUCache" "IndexedDB" "JumpListIcons" "JumpListIconsOld" "Local Extension Settings" "Media Cache" "Pepper Data" "Platform Notifications" "Service Worker" "Session Storage" "Storage" "Thumbnails" "Web Applications"

В летучем мышином файле, скажем, C:\Backup.

REM ChromeBak.bat
SET chromeprofdir=Google\Chrome\User Data\Default
SET /P rcChrmBIF=<C:\Backup\rcXcludes\rcChromeBIF.txt
SET /P rcChrmBXF=<C:\Backup\rcXcludes\rcChromeBXF.txt
SET /P rcChrmBXD=<C:\Backup\rcXcludes\rcChromeBXD.txt
robocopy "%LOCALAPPDATA%\%chromeprofdir%" "H:\ChromeBackup\%chromeprofdir%" %rcChrmBIF% /E /ZB /COPY:DAT /DCOPY:T /MT:4 /XJ /XF %rcChrmBXF% /XD %rcChrmBXD% /R:10 /W:2 /TBD /NP /V /TS /Log+:"H:\ChromeBackup\ChromeBackup.log"

Похожие вопросы

8
2
2
2
6