С помощью Robocopy и кроме нескольких каталогах

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

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

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

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

10
задан GorrillaMcD
06.12.2022 20:54 Количество просмотров материала 3358
Распечатать страницу

4 ответа

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

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

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

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

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

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

дополнения заключаются в следующем:

  • /Z позволяет перезапустить задание
  • /LOG:<logfile path> говорит само за себя.
  • /XF используется для исключения определенных типов файлов, так что это не займет так много времени
81
отвечен GorrillaMcD 2022-12-08 04:42

Я знаю, что это не отвечает на вопрос OP, но кому-либо из google: 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, который взял кавычки из моих цитируемых каталогов!

4
отвечен Chris 2022-12-08 06:59

вы должны повторять /XDчасть

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"
3
отвечен weberjn 2022-12-08 09:16

мое решение для этого было создание .txt-файлы, содержащие файлы или каталоги, которые я хочу включить или исключить. У меня есть эти файлы в подпапке "rcXcludes" в моей папке "Backup". Мой метод именования файлов выглядит следующим образом. Я перед ними "вертолет" (для программы), то некоторые узнаваемые обозначения для приложения или части файловой системы в команду Robocopy, затем добавьте "B" или "R" (для резервного копирования или восстановления), тогда "я" или "Х" (для включения или исключения), то "D" или "F" (для Каталог или файл). Я окружаю каждую запись двойными кавычками и пробелом между записями. Включаемый файл может иметь файлы или каталоги, но каталоги должны иметь обратную косую черту. В файле" Exclude " для каталогов не используется обратная косая черта. Все записи каталога относятся к исходному пути в команде robocopy. Все содержимое любого из них .txt файлы должны быть на одной линии и не есть обратный канал carraige. В моем пакетном файле я использую SET / P команда для импорта .txt файл в переменную. Затем я использую эти переменные для файлов или после /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"

в файле bat, скажем, 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"
1
отвечен Charlie C 2022-12-08 11:33

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх