Hallo zusammen!
Habe folgendes Problem bzw. Frage:
Ich soll ein Backup Batchscript erstellen das folgende Aufgaben hat:
Es soll ein Verzeichnis mit mehreren Dateien und Unterordner von einem auf den andreren Rechner kopiert werden. Dabei soll alles kopiert werden!
Das Backup soll jeweils Dienstags und Donnerstags ausgeführt werden. Das starten des Scriptes kann über den Taskmanager erfolgen!
Gibt es eine möglichkeit die Zielordner mit Datum zu versehen und das nur zwei Backupordner vorhanden sein sollen und das beim dritten Backup der älteste Ordner gelöscht oder überschrieben wird??? Kann das alles in einen Batchscript unterkommen???
Ich wäre über eure Hilfe sehr Dankbar!!!
MfG
ThaPate
Backup Batch Script
Erstellt von
ThaPate
, 22. Dez 2005 10:48
4 Antworten in diesem Thema
#3
Geschrieben 22. Dezember 2005 - 11:38
Hi,
Zum kopieren nimmst du am besten robocopy (xcopy fällt bei grösseren Dateimengen auf die Nase)
Zum löschen alter Dateien kannst du forfiles benützen
Forfiles -p R:\MyFiles -s -m *.* -d -365 -c "Cmd /C Echo 0x22@Path\@File0x22"
beide tools sind im Reskit
cu
blub
Zum kopieren nimmst du am besten robocopy (xcopy fällt bei grösseren Dateimengen auf die Nase)
Zum löschen alter Dateien kannst du forfiles benützen
Forfiles -p R:\MyFiles -s -m *.* -d -365 -c "Cmd /C Echo 0x22@Path\@File0x22"
beide tools sind im Reskit
cu
blub
#4
Geschrieben 22. Dezember 2005 - 14:36
Hallo ThaPate
kopier dir das da in eine Textdatei und bennene sie in irgendwas.bat um:
@echo off
xcopy c:\batch\*.* d:\batch\safe\ /e/s/y/d
FOR /F "tokens=1,2 delims=:" %%d IN ('date /t') DO set dat=%%d
FOR /F "tokens=1,2 delims=:" %%i IN ('time /t') DO set zeit=%%i-%%j
rename d:\batch\safe "%dat%%zeit%.Safe"
FOR /F "skip=2 tokens=*" %%c IN ('DIR /O-D /B D:\Batch\*safe') DO (rd D:\Batch\"%%c" /s/q)
exit
erklärungen in ():
xcopy c:\batch\*.* (Start) d:\batch\safe\ (Ziel) /e/s/y/d (Parameter)
(kopiert das Startverzeichnis zum Zielverzeichnis)
FOR /F "tokens=1,2 delims=:" %%d IN ('date /t') DO set dat=%%d
(kreiert eine Variable "dat" = Datum)
FOR /F "tokens=1,2 delims=:" %%i IN ('time /t') DO set zeit=%%i-%%j
(kreiert eine Variable "zeit" = Uhrzeit)
rename d:\batch\safe "%dat%%zeit%.Safe"
(benennt das soeben kopierte Verzeichnis in "Datum Uhrzeit.Safe" um)
FOR /F "skip=2 tokens=*" %%c IN ('DIR /O-D /B D:\Batch\*safe') DO (rd D:\Batch\"%%c" /s/q)
(legt fest, dass nur die zwei neusten Verzeichnisse bleiben, und die älteren gelöscht werden. Details:
skip=2 = gibt an, dass die zwei neusten übersprungen werden
D:\Batch\*Safe' = gibt die zu prüfenden Verzeichnisse an
rd D:\Batch\"%%c" /s/q = das ist der Löschbefehl
Gruss Brasil
kopier dir das da in eine Textdatei und bennene sie in irgendwas.bat um:
@echo off
xcopy c:\batch\*.* d:\batch\safe\ /e/s/y/d
FOR /F "tokens=1,2 delims=:" %%d IN ('date /t') DO set dat=%%d
FOR /F "tokens=1,2 delims=:" %%i IN ('time /t') DO set zeit=%%i-%%j
rename d:\batch\safe "%dat%%zeit%.Safe"
FOR /F "skip=2 tokens=*" %%c IN ('DIR /O-D /B D:\Batch\*safe') DO (rd D:\Batch\"%%c" /s/q)
exit
erklärungen in ():
xcopy c:\batch\*.* (Start) d:\batch\safe\ (Ziel) /e/s/y/d (Parameter)
(kopiert das Startverzeichnis zum Zielverzeichnis)
FOR /F "tokens=1,2 delims=:" %%d IN ('date /t') DO set dat=%%d
(kreiert eine Variable "dat" = Datum)
FOR /F "tokens=1,2 delims=:" %%i IN ('time /t') DO set zeit=%%i-%%j
(kreiert eine Variable "zeit" = Uhrzeit)
rename d:\batch\safe "%dat%%zeit%.Safe"
(benennt das soeben kopierte Verzeichnis in "Datum Uhrzeit.Safe" um)
FOR /F "skip=2 tokens=*" %%c IN ('DIR /O-D /B D:\Batch\*safe') DO (rd D:\Batch\"%%c" /s/q)
(legt fest, dass nur die zwei neusten Verzeichnisse bleiben, und die älteren gelöscht werden. Details:
skip=2 = gibt an, dass die zwei neusten übersprungen werden
D:\Batch\*Safe' = gibt die zu prüfenden Verzeichnisse an
rd D:\Batch\"%%c" /s/q = das ist der Löschbefehl
Gruss Brasil
Warum versuchen Männerlippen, ausgerechnet dort zu nippen, wo doch sonst nur die ganz Kleinen, sich erquicken wenn sie weinen..., weil die Worte Wahrheit sind, in jedem Manne steckt ein Kind, und da Frauen Kinder lieben, wird kein Mann von dort vertrieben.










