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

Używając robokopii i wyłączając wiele katalogów

staram się skopiować niektóre katalogi z serwera przed przywróceniem ich z kopii zapasowej (moja ostatnia kopia zapasowa była uszkodzona, więc muszę użyć starszej :( ). Znajduję się w środowisku Windows Recovery Environment i mam dostęp do systemu plików serwera G: staram się skopiować niektóre katalogi z serwera przed przywróceniem ich z kopii zapasowej (moja ostatnia kopia zapasowa była uszkodzona, więc muszę użyć starszej :( ). Znajduję się w środowisku Windows Recovery Environment i mam dostęp do systemu plików serwera i mojego nośnika kopii zapasowychC: staram się skopiować niektóre katalogi z serwera przed przywróceniem ich z kopii zapasowej (moja ostatnia kopia zapasowa była uszkodzona, więc muszę użyć starszej :( ). Znajduję się w środowisku Windows Recovery Environment i mam dostęp do systemu plików serwera G: staram się skopiować niektóre katalogi z serwera przed przywróceniem ich z kopii zapasowej (moja ostatnia kopia zapasowa była uszkodzona, więc muszę użyć starszej :( ). Znajduję się w środowisku Windows Recovery Environment i mam dostęp do systemu plików serwera i mojego nośnika kopii zapasowych . Ale ponieważ jestem bardziej zaznajomiony z Linuksem, mam trochę kłopotów z wierszem poleceń w systemie Windows, a konkretnie zrobocopy`.

Chcę skopiować wiele katalogów (zachowując tę samą strukturę katalogów) z G:\ do C:\, wyłączając inne (mianowicie foldery Windows i Program Files). Nie mogę ustalić składni dla opcji /XD. Miałem nadzieję, że zrobię coś w stylu:

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

Uwaga: Chcę wyjaśnić, że chcę skopiować rzeczywiste pliki, zachowując jednocześnie strukturę katalogów. Właśnie sprawdziłem, a /create tworzy tylko puste pliki. Dziwne.

Odpowiedzi (4)

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

Rozgryzłem to z małą próbą i błędem oraz /L (aby przetestować komendę przed wykonaniem jej na żywo). Komenda, z którą skończyłem to:

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

Podobno włączenie trailing slashes powstrzymuje robocopię od poprawnego parsowania listy katalogów, więc upewnij się, że nie włączyłeś trailing slashes do nazw katalogów i pamiętaj, aby umieszczać cudzysłowy wokół katalogów ze spacjami w nazwie.

Opcja /MIR utrzymuje tę samą strukturę katalogów podczas kopiowania plików.

Edit: Po kilku dalszych badaniach poprawiłem nieco komendę:

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

Dodatki są następujące:

  • /Z pozwala na ponowne uruchomienie zadania
  • /LOG:<logfile path> jest dość oczywiste.
  • /XF jest używana do wyłączenia pewnych typów plików, więc nie trwa to tak długo
7
7
7
2017-10-22 10:08:32 +0000

musisz powtórzyć /XD część

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

Wiem, że to nie odpowiada na pytanie OPa, ale każdemu, kto jest tu z google'a: XD zawiedzie w pliku zadania, jeśli użyjesz cudzysłowów.

Zły:

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

Dobry:

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

Umieść tyle wykluczeń, ile chcesz, linia po linii, bez użycia cudzysłowów (bez względu na to, czy są spacje, czy nie).

Sposób, w jaki to odkryłem, to użycie przełącznika linii poleceń /SAVE:myjobname, który zdjął cudzysłowy z moich cytowanych katalogów!

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

Moim rozwiązaniem było stworzenie plików .txt, które zawierają pliki lub katalogi, które chcę dołączyć lub wykluczyć. Mam te pliki w podfolderze “rcXcludes” pod moim folderem “Backup”. Moja metoda nazywania plików jest następująca. Wstępnie podaję im “rc” (dla robokopii), następnie jakąś rozpoznawalną notację dla aplikacji lub części systemu plików w poleceniu robocopy, następnie dołączam “B” lub “R” (dla kopii zapasowej lub przywracania), następnie “I” lub “X” (dla włączania lub wyłączania), następnie “D” lub “F” (dla katalogu lub pliku). Każdy wpis otaczam podwójnym cudzysłowem i odstępem pomiędzy wpisami. Plik “Include” może mieć pliki lub katalogi, ale katalogi muszą mieć przesuwany odwrotny ukośnik. W pliku “Exclude” dla katalogów nie używa się zwrotnego ukośnika. Wszelkie wpisy katalogów są odniesione do ścieżki źródłowej w poleceniu robocopy. Cała zawartość któregokolwiek z tych plików .txt musi znajdować się w jednej linii, a not musi mieć karraige return line feed. W moim pliku wsadowym, używam polecenia SET /P do zaimportowania pliku .txt do zmiennej. Następnie używam tych zmiennych dla FILES lub po /XF lub /XD. Na przykład, aby wykonać kopię zapasową profilu bieżącego użytkownika Chrome bez kopiowania całego folderu “Domyślne”, używam

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"

W pliku nietoperza w, powiedzmy, 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"