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

Met behulp van robocopy en met uitzondering van meerdere directories

probeer ik een aantal directories van een server te kopiëren voordat ik de backup terugzet (mijn laatste backup was corrupt, dus ik moet een oudere gebruiken :( ). Ik zit in de Windows herstelomgeving en heb toegang tot het bestandssysteem G: probeer ik een aantal directories van een server te kopiëren voordat ik de backup terugzet (mijn laatste backup was corrupt, dus ik moet een oudere gebruiken :( ). Ik zit in de Windows herstelomgeving en heb toegang tot het bestandssysteem van de server en mijn backup mediaC: probeer ik een aantal directories van een server te kopiëren voordat ik de backup terugzet (mijn laatste backup was corrupt, dus ik moet een oudere gebruiken :( ). Ik zit in de Windows herstelomgeving en heb toegang tot het bestandssysteem G: probeer ik een aantal directories van een server te kopiëren voordat ik de backup terugzet (mijn laatste backup was corrupt, dus ik moet een oudere gebruiken :( ). Ik zit in de Windows herstelomgeving en heb toegang tot het bestandssysteem van de server en mijn backup media . Maar, aangezien ik meer bekend ben met Linux, heb ik wat problemen met de opdrachtregel in Windows, met namerobocopy`.

Ik wil meerdere mappen kopiëren (met behoud van dezelfde mappenstructuur) van G:\ naar C:\, terwijl ik andere mappen (namelijk de Windows en Program Files mappen) wil uitsluiten. Ik kan de syntaxis voor de /XD optie niet achterhalen. Ik hoopte iets te doen als:

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

NOTE: Ik wil duidelijk maken dat ik de eigenlijke bestanden wil kopiëren met behoud van de mappenstructuur. Ik heb net gecontroleerd, en /create maakt alleen maar lege bestanden aan. Raar.

Antwoorden (4)

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

Ik heb het uitgedokterd met een beetje vallen en opstaan en de /L (om het commando te testen vooraleer het echt te doen). Het commando waar ik op uitkom is:

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

Blijkbaar houdt de robotkopie, inclusief slepende slashes, de lijst van mappen niet correct te parseren, dus zorg ervoor dat er geen slepende slashes op mapnamen staan en vergeet niet om aanhalingstekens rond mappen met spaties in de naam te zetten.

De /MIR optie handhaaft dezelfde mappenstructuur tijdens het kopiëren van de bestanden.

Edit: Na wat meer onderzoek heb ik de opdracht wat verbeterd:

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

De toevoegingen zijn als volgt:

  • /Z maakt het mogelijk de opdracht te herstarten
  • /LOG:<logfile path> is vrij vanzelfsprekend.
  • /XF wordt gebruikt om bepaalde filetypes uit te sluiten, zodat het niet zo lang duurt.
7
7
7
2017-10-22 10:08:32 +0000

je moet de /XD part 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" herhalen

5
5
5
2016-04-07 19:59:41 +0000

Ik weet dat dit geen antwoord geeft op de vraag van OP, maar aan iedereen hier van google: XD zal falen in een jobbestand als je aanhalingstekens gebruikt.

Slecht:

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

Goed:

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

Plaats zoveel uitsluitingen als je wilt, regel na regel, zonder aanhalingstekens te gebruiken (of er nu spaties zijn of niet).

De manier waarop ik dit ontdekte was door gebruik te maken van de commandoregelschakelaar /SAVE:myjobname die de aanhalingstekens van mijn geciteerde mappen haalde!

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

Mijn oplossing hiervoor was om .txt-bestanden aan te maken die de bestanden of mappen bevatten die ik wil opnemen of uitsluiten. Ik heb deze bestanden in een submap “rcXcludes” onder mijn “Backup” map. Mijn methode voor het benoemen van de bestanden is als volgt. Ik voorzie ze van “rc” (voor robocopy), dan een herkenbare notatie voor de toepassing of een deel van het bestandssysteem in het commando robocopy, voeg dan “B” of “R” toe (voor Backup of Restore), dan “I” of “X” (voor Include or Exclude), dan “D” of “F” (voor Directory of File). Ik omring elk item met dubbele aanhalingstekens en een spatie tussen de items. Een “Include” bestand kan bestanden of mappen hebben, maar mappen moeten een achterwaartse backslash hebben. In een “Exclude” bestand voor directories gebruikt u geen slepende backslash. Alle mapvermeldingen zijn relatief ten opzichte van het bronpad in het robotkopie-commando. De volledige inhoud van een van deze .txt-bestanden moet op één regel staan en not een carraige-retourlijn feed hebben. In mijn batchbestand gebruik ik een SET /P commando om het .txt bestand te importeren in een variabele. Ik gebruik dan deze variabelen voor FILES of na /XF of /XD. Om bijvoorbeeld een backup te maken van het huidige Chrome profiel van de gebruiker zonder de gehele “Default” map te kopiëren, gebruik ik het volgende.

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"

In het bat-bestand in bijvoorbeeld 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"