emkay443

[WIN] Backup-Skript (behält alte Dateien)

Sep 20th, 2013
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Batch 1.61 KB | None | 0 0
  1. @echo off
  2. :: Backup-Script für Microsoft Windows
  3. :: Erzeugt ein Backup von einem Ordner in einem anderen
  4. :: und versieht existierende Dateien mit einer zusätzlichen Datum-Uhrzeit-Endung (Versionskontrolle)
  5. ::
  6. :: Benötigt: cp.exe, libiconv2.dll und libintl3.dll (im Coreutils Paket) aus dem GnuWin32 Projekt
  7. :: Download: http://gnuwin32.sourceforge.net/packages/coreutils.htm
  8. :: Diese Dateien müssen sich im selben Ordner wie dieses Batch-Skript befinden!
  9. ::
  10. :: Der Grund für diese Abhängigkeit ist der: Rekursives Kopieren von Dateien und Ordnern
  11. :: ist mit dem Windows-eigenen copy bzw. xcopy zwar möglich, aber das Erkennen und Umbenennen existierender Dateien
  12. :: ist extrem kompliziert, wenn nicht sogar unmöglich.
  13. :: Der cp-Befehl aus dem GNU-Projekt hat dafür aber den --backup Parameter, der genau das gewünschte Ergebnis bringt.
  14. ::
  15. :: Author: Michael Koch
  16. :: Version: 2013-09-20
  17.  
  18. :: Backup-Quelle und Ziel
  19. set Backup_Src=C:\Quelle
  20. set Backup_Dest=E:\Backups\Ziel
  21.  
  22. :: Variable für Datum und Uhrzeit
  23. :: Braucht nicht verändert zu werden
  24. :: Sollte so auf jedem deutschen Windows-System funktionieren
  25. :: (auf anderssprachigen Systemen stimmt das Datumsformat nicht überein)
  26. set DatumZeit09=%date:~-4%-%date:~6,2%-%date:~3,2%_0%time:~1,1%-%time:~3,2%-%time:~6,2%
  27. set DatumZeit24=%date:~-4%-%date:~6,2%-%date:~3,2%_%time:~0,2%-%time:~3,2%-%time:~6,2%
  28. set Stunde=%time:~0,2%
  29. if "%Stunde:~0,1%" == " " (
  30.     set DatumZeit=%DatumZeit09%
  31. ) else (
  32.     set DatumZeit=%DatumZeit24%
  33. )
  34.  
  35. :: Hier findet das eigentliche Backup statt
  36. cp.exe -v --update --backup --suffix=.%DatumZeit% -r "%Backup_Src%\*" "%Backup_Dest%"
Advertisement
Add Comment
Please, Sign In to add comment