Kann man Ordner ausschließen wenn man sie per batch-datei(xcopy) kopiert?


13.11.2020, 15:55

Bin grad dabei ein Programm zuschreiben welches mein user Ordner kopiert will aber das er die appdata nicht mit kopiert wie kann ich das machen ?

2 Antworten

Eigentlich ganz einfach:

@echo off
chcp 65001 >nul & rem Umlaute erlauben


  rem achtung! Pfad darf  keine Leerzeichen enthalten! %temp% ist als ordnervariable legitim, da diese keinen Pfad mit Leerzeichen liefert.
set "excludeList=%temp%\exclude.txt"

  rem Dateien/Ordner in ExcludeListe schreiben 
  rem entweder den  vollen Pfad oder  einen markanten Teil des Pfades 
  rem Wildcards (*?) werden  nicht akzeptiert.  Die Dateien Ordner, welche den angegebenen String enthalten werden ausgeschlossen
echo %userprofile%\Appdata\ >"%excludeList%"
  rem falls weitere Dateien/Ordner Ausgeschlossen werden sollen diese anhängen. Achtung mit >>
echo \desktop\ >>"%excludeList%"
  rem diese Zeile wäre für Quellen wie Users/.../ wichtig, da Kopien der UserRegistry (NTUSER.DAT*)...
  rem beim zurückspielen von Backups das Nutzerprofil "zerschießen" können (passiert sehr häufig)...
  rem (also gleich beim Backup ausschließen, da kommt man garnicht erst in "Versuchung")
echo NTUSER.DAT >>"%excludeList%"


 
  rem kopiere aktuellen Nutzerordner nach F:\test\
  rem Parametererklärung: s:Unterordner , h:Versteckt und System y:im Ziel vorhanden? überschreiben erlauben, 
  rem c:nach (lese)fehler Fehlern mit der nächsten Datei weitermachen (ganz wichtig bei Programm-/Profilordnern, da einige Dateinen von anderen programmen blockiert sein können  und XCopy  sonst abbricht!)
  rem exclude:ausschlissliste(n)
xcopy "%userprofile%\*" "f:\test\*" /shyc /exclude:%excludeList%
pause

In der Regel werden die Syntaxregeln für XCopy nur falsch verstanden.

Der Schalter /exclude: weist nicht auf die auszuschließenden Datei-/Ordnernamen ,sonder auf eine Datei, welche eine Liste von Strings enthält, welche nicht in den zu kopierenden Quelldateinamen enthalten sein dürfen

also schreibt man alles was ausgeschlossen werden soll in die Ausschlußliste(n) und übergibt diese an den Schalter /exclude:

Woher ich das weiß:eigene Erfahrung – Ich mach das seit 30 Jahren
xcopy x y /exclude:except.txt
Woher ich das weiß:Studium / Ausbildung – Informatikstudent
batchprogram 
Fragesteller
 13.11.2020, 15:56

Ich will nur ein bestimmten ordner ausschließen

0