Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Ausgebaute BackUp Batch

Frage Entwicklung Batch & Shell

Mitglied: Waldgeist

Waldgeist (Level 1) - Jetzt verbinden

18.04.2007, aktualisiert 22.04.2007, 6045 Aufrufe, 20 Kommentare

seid gegrüsst administrator.de Community

habe mal angefangen mir eine backup batch zu erstellen. habe jetzt eigentlich auch schon alles so wie ich das gerne möchte. bis auf den hauptpunkt das backUp selber. in meinem letzten beitrag konnten schon einige fehler behoben werden. nun stehe ich vor einem erneuten problem. ich würde gerne die drei verschiedenen BackUp arten zur auswahl stellen, nur bekomme ich diese nicht hin mit dem xcopy...

könntet ihr mir bidde vorschläge oder vielleicht sogar lösungen bei steuern?

danke vielmals schon im voraus!

bin am verzweifeln! xD

Mit freundlichen Grüßen
Waldgeist








mode 100, 60

:start

echo *
echo.
echo backup-batch hauptmenu
echo.
echo
*





echo was moechten sie tun?


echo.
echo backup optionen
echo *
echo [1] vollbackup
echo [2] inkrementelles backup
echo [3] differenzielles backup

echo.
echo logfile optionen
echo
**
echo [4] logfile ansehen
echo [5] logifle loeschen
echo [6] logfile inhalt loeschen
echo.
echo.
echo [b] beenden
echo.
echo.






set /p choice=Bitte Treffe Deine Auswahl:

if %choice% == 1 goto vollbackup
if %choice% == 2 goto inkrementelles
if %choice% == 3 goto differenzielles
if %choice% == 4 goto logfilea
if %choice% == 5 goto logfilel
if %choice% == 6 goto logfileil
if %choice% == b goto beenden
if not %choice% == 1 goto RESTART
if not %choice% == 2 goto RESTART
if not %choice% == 3 goto RESTART
if not %choice% == 4 goto RESTART
if not %choice% == 5 goto RESTART
if not %choice% == 6 goto RESTART
if not %choice% == b goto RESTART




REM ----------------------------------------------------------------------------------------------
REM ------------------------------------------------------------------------------"unterprogramme"
REM ----------------------------------------------------------------------------------------------





:vollbackup

IF exist log.txt echo %date% %time% voll_backup gewaehlt >> log.txt
IF NOT exist log.txt echo neues logfile(log.txt) erstellt am %date% um %time% > log.txt | echo da noch kein logfile(log.txt) exisiterte, wurde eines erstellt. | goto :START

IF exist path.txt goto :pfad vorhanden
IF NOT exist path.txt echo neue path.txt erstellt am %date% um %time% > log.txt | echo neue path.txt erstellt | echo erstellt am %date% um %time% > path.txt | goto :pfadneu


set /p Quellpfad=bitte pfad der zu kopierenden daten/verzeichnisse angeben:
IF [%quellpfad%]==[} goto :xcopyvoll
If exist "%Quellpfad%" Echo %Quellpfad% >> path.txt

REM set /p Zielpfad=bitte ziel-Pfad angeben:
IF [%Zielpfad%]==[} goto :start
If exist "%zielpfad%" Echo %Zielpfad% >> path.txt

:xcopyvoll

REM xcopy %Quellpfad% %Zielpfad% /v /e /s /t /r /h /o /x

goto :Start




goto :START



:inkrementelles

IF exist log.txt echo %date% %time% inkrementelles_backup gewaehlt >> log.txt
IF NOT exist log.txt echo neues logfile(log.txt) erstellt am %date% um %time% > log.txt | echo da noch kein logfile(log.txt) exisiterte, wurde eines erstellt. | goto :START

set /p Quellpfad=bitte pfad der zu kopierenden daten/verzeichnisse angeben:
IF [%quellpfad%]==[} goto :start
If exist "%Quellpfad%" Echo %Quellpfad% >>path.txt
goto :Start

goto :START



:differenzielles

IF exist log.txt echo %date% %time% differenzielles_backup gewaehlt >> log.txt
IF NOT exist log.txt echo neues logfile(log.txt) erstellt am %date% um %time% > log.txt | echo da noch kein logfile(log.txt) exisiterte, wurde eines erstellt. | goto :START

set /p Quellpfad=bitte pfad der zu kopierenden daten/verzeichnisse angeben:
IF [%quellpfad%]==[} goto :start
If exist "%Quellpfad%" Echo %Quellpfad% >>path.txt
goto :Start





:logfilea

IF exist log.txt echo %date% %time% logfile(log.txt) ansehen gewaehlt >> log.txt | start log.txt
IF NOT exist log.txt echo neues logfile(log.txt) erstellt am %date% um %time% > log.txt | echo da noch kein logfile(log.txt) exisiterte, wurde eines erstellt. | goto :START



goto :START



:logfilel

del log.txt
echo.
echo Das logfile(log.txt) wurde erfolgreich geloescht!
echo.

goto :START



:logfileil

del log.txt
echo. > log.txt


goto :START



:RESTART
set /p _ok=Falsche Eingabe! Bitte Treffe Deine Auswahl:
goto START

:beenden
exit




:end
Mitglied: bastla
18.04.2007 um 15:47 Uhr
Hallo Waldgeist!

Schau Dir mal die "xcopy"-Optionen "/a" bzw "/m" an ...

Grüße
bastla
Bitte warten ..
Mitglied: miniversum
18.04.2007 um 16:23 Uhr
Incrementell und differentiell kannst du auch Ohne Archivbit machen indem du mit der option /D die Sicherung durchführst. Genauer: Du nimst die Option /L und /D dazu und erzeugst so eine Liste in eine Datei mit den Dateien Die sich unterscheiden und Arbeitest diese Liste dann in einem Zweiten Schrit ab. Das würde dan auchmit dem Normalen copy und einer Forschleife gehen.

miniversum
Bitte warten ..
Mitglied: bastla
18.04.2007 um 17:50 Uhr
@miniversum

Wie würdest Du dabei für eine inkrementelle Sicherung vorgehen?

Grüße
bastla
Bitte warten ..
Mitglied: miniversum
19.04.2007 um 08:16 Uhr
Ich habe mein zu sicherndes Verzeichnis (C:\org), die letzte Vollsicherung (C:\fullbak) und das Verzeichnis indas die Sicherung kommen soll (C:\incr)
also vergleiche ich erstmal welche Dateien in C:\org anders sind wie in C:\fullbak und schreibe diese Liste in eine Datei.
xcopy C:\org C:\fullbak /D /L /andereoptionen>liste.txt
Dann das gleiche mit der letzten inkrementellen Sicherung in eine andere Datei (weg.txt)
dann werden die dateien veglichen udn die unterschiede (Äbderung seit der letzten inkrementellen Sicherung in eine Dritte temponäre Datei geschrieben (zusichernte.txt).
Dann kopiere ich manuell die einzelnen Dateien die in der Liste der zusichernte.txt aufgeführt sind vom C:\org in das C:\incr Verzeichnis mit Hilfe einer Forschleife.
Die genauen Code dazu kennst Du ja selbst.

Oder hab ich was Übersehen?

miniversum
Bitte warten ..
Mitglied: bastla
19.04.2007 um 17:18 Uhr
Hallo miniversum!

Deine Zielsetzung würde ich eher als Kombination von "inkrementell" und "differenziell" sehen: Durch das inkrementelle Hinzufügen der Daten hast Du weniger zu sichern und als Ergebnis trotzdem alle Änderungen seit der letzten Vollsicherung (also eine Differenzsicherung).

Im Vergleich zur "klassischen" Inkrementsicherung in jeweils eigene Sicherungsstände (worauf sich meine Frage eigentlich bezogen hatte) fehlt Dir damit eigentlich nur die Möglichkeit, bei Bedarf auf ältere Versionen zurückzugreifen (also etwa bei wöchentlichen Vollsicherungen und tageweise angelegten inkrementellen Ständen die Datei von vorvorgestern hervorzuzaubern) - aber wenn das wichtig ist, wirst Du ohnehin eine Art von Versionierung verwenden.
Ich weiß nicht, ob ich Deine Vorgangsweise richtig verstanden habe, aber etwa so hätte ich es mir zurechtgelegt:
Vergleich aktuelle Daten : Vollsicherung -> Unterschiede in "ListeV.txt"
Vergleich aktuelle Daten : Inkrement-(Differenz-)Sicherung -> Unterschiede in "ListeI.txt"
Kopieren der in beiden Listen vorkommenden Dateien in die Inkrement-Sicherung


Grüße
bastla
Bitte warten ..
Mitglied: miniversum
19.04.2007 um 19:27 Uhr
Ich glaube jetzt hab ich deine Vorgehensweise falsch verstanden (naja bin auch kein ITler).
Wenn Du die Unterschiede zur Vollsicherung machst und in eine Datei schreibst und die Unterschiede zur letzten inkrementellen Sicherung udn die in eine Andere Datei schreibst udnd ann Beide Dateien Abarbeitest als listen dann hast du doch Dateien doppelt gesichert? Ich dachte eher den unterschied der beiden Dateien in eine Extra Datei und diese zum Sichern abarbeiten.
Also in deinem Beispiel:
ListeV.txt - ListeI.txt = ListeS.txt
Danach ListeS.txt abarbeiten.

miniversum
Bitte warten ..
Mitglied: bastla
19.04.2007 um 19:40 Uhr
Hallo miniversum!

Meine Idee war, jene Dateien zu sichern, die weder in der einen (Voll-) noch in der anderen (Inkrement-) Sicherung aktuell sind (und daher in beiden Listen vorkommen müssen), also:
01.
for /f "delims=" %%i in (ListeV.txt) do findstr /C:"%%i" ListeI.txt && copy /y "%%i" C:\incr
Grüße
bastla
Bitte warten ..
Mitglied: miniversum
19.04.2007 um 20:06 Uhr
Ja eben. meine ja auch. Die Idee war also die Gleiche. :D
Nur Umgesetzt hätte ich sie halt über den /D parameter vom xcopy zum Vergleich der Verzeichnisse direkt udn dem /L Parameter zusammen der nur anzeigt welche copiert werden würden. Diese Ausgabe dan inne datei umleiten udn feritig.

miniversum
Bitte warten ..
Mitglied: bastla
19.04.2007 um 20:24 Uhr
Hallo miniversum!

Ja eben. meine ja auch. Die Idee war also die Gleiche. :D
Dort landen wir erfreulicherweise öfter (und, neidlos anerkannt, öfters bei Deinen Ideen ... ).

Nur Umgesetzt hätte ich sie halt über den /D parameter vom xcopy zum Vergleich der Verzeichnisse direkt udn dem /L Parameter zusammen der nur anzeigt welche copiert werden würden. Diese Ausgabe dan inne datei umleiten udn feritig.
Genau das hatte ich vorausgesetzt (damit entstehen ja die beiden Listen) - nur die Auflösung gehen wir anscheinend unterschiedlich an ...
Bei meiner Variante nehme ich an, wenn eine Datei über "xcopy /D /L" nur in eine Liste eingetragen wird, bedeutet das, dass sie in der anderen Sicherung ohnehin schon aktuell ist und daher nicht gesichert werden muss.

Beispiel: Alle seit der Vollsicherung unveränderten Dateien landen in der "ListeI", da sie ja in der Inkrement-Sicherung nicht enthalten sind, während sie in der "ListeV" nicht auftauchen, da ja in der Vollsicherung bereits eine übereinstimmende Datei liegt.

Wird umgekehrt eine veränderte Datei erstmals in die Inkrement-Sicherung aufgenommen, kommt sie in weiterer Folge nur noch in die "ListeV" (da in der Vollsicherung noch die alte Version enthalten ist), muss dann aber nicht nochmals gesichert werden, da sie ja in der Inkrementsicherung beim letzten Mal bereits berücksichtigt wurde.

Grüße
bastla
Bitte warten ..
Mitglied: miniversum
20.04.2007 um 08:43 Uhr
Alle seit der Vollsicherung unveränderten Dateien landen in der "ListeI"
Eben. Aber wie landen sie da?
mit xcopy /D /L kannst Du ja nur die VERÄNMDERTEN Dateien ausgeben nicht die unveränderten.
Daher mein Ansatz mit dem Vergleichen.

miniversum
Bitte warten ..
Mitglied: bastla
20.04.2007 um 09:50 Uhr
Hallo miniversum!

Sie landen da, weil zu Beginn die Inkrementsicherung leer ist, und daher beim ersten Durchlauf alle Dateien in die Liste aufgenommen werden. Sobald die seit der Vollsicherung veränderten Dateien erstmals in die Inkrementsicherung gelangt sind, fehlen dort im Vergleich zum aktuellen Datenstand immer noch alle unveränderten Dateien.

Oder Kurzfassung: Mit "xcopy /D" erhalte ich alle veränderten sowie alle im Ziel nicht vorhandenen Dateien.

Grüße
bastla
Bitte warten ..
Mitglied: miniversum
20.04.2007 um 11:22 Uhr
ok das mit dem xcopy /D weiß ich ja.

Aber jetzt weiß ich wo wir an einander vorbei reden glaub ich.
Ich bin davon ausgegangen das schon eine inkrementelle Sicherung vorhanden ist die neuer ist wie die Vollsicherung.
Also z.B. Sonntag war Vollsicherung, Montag inkrementelle Sicherung und heute ist Dienstag und ich will weider ne Inkrementelle Sicherung machen.

miniversum
Bitte warten ..
Mitglied: Waldgeist
20.04.2007 um 14:09 Uhr
richtige diskussion hierxD


wenn ich im menu den pfad der zu kopierenden daten eingegeben habe, braucht es noch den zielpfad, wie muss ich den in der batch angeben? habe ich oben einen richtigen ansatz? weil wenn ich den zweiten pfad angebe schliesst sich die batch einfach... =(
Bitte warten ..
Mitglied: bastla
20.04.2007 um 18:51 Uhr
Hallo Waldgeist!

Vielleicht kannst Du auf Basis der fogenden Skizze weitermachen:
01.
@echo off 
02.
mode 100, 60 
03.
 
04.
:start 
05.
cls 
06.
echo * 
07.
echo. 
08.
echo backup-batch hauptmenu 
09.
echo. 
10.
echo * 
11.
 
12.
echo was moechten sie tun? 
13.
echo. 
14.
echo backup optionen 
15.
echo *** 
16.
echo [1] vollbackup 
17.
echo [2] inkrementelles backup 
18.
echo [3] differenzielles backup 
19.
 
20.
echo. 
21.
echo logfile optionen 
22.
echo. 
23.
echo [4] logfile ansehen 
24.
echo [5] logifle loeschen 
25.
echo [6] logfile inhalt loeschen 
26.
echo. 
27.
echo. 
28.
echo [b] beenden 
29.
echo. 
30.
echo. 
31.
 
32.
:Auswahl 
33.
set /p choice=Bitte Treffe Deine Auswahl: 
34.
 
35.
if %choice% == 1 goto vollbackup 
36.
if %choice% == 2 goto inkrementelles 
37.
if %choice% == 3 goto differenzielles 
38.
if %choice% == 4 goto logfilea 
39.
if %choice% == 5 goto logfilel 
40.
if %choice% == 6 goto logfileil 
41.
if %choice% == b goto beenden 
42.
echo. 
43.
echo Falsche Eingabe! 
44.
goto :Auswahl 
45.
 
46.
REM ---------------------------------------------------------------------------------------------- 
47.
REM ------------------------------------------------------------------------------"unterprogramme" 
48.
REM ---------------------------------------------------------------------------------------------- 
49.
 
50.
:vollbackup 
51.
 
52.
IF exist log.txt echo %date% %time% voll_backup gewaehlt >> log.txt 
53.
IF NOT exist log.txt echo neues logfile(log.txt) erstellt am %date% um %time% > log.txt & echo da noch kein logfile(log.txt) existierte, wurde eines erstellt. & pause 
54.
 
55.
IF NOT exist path.txt echo neue path.txt erstellt am %date% um %time% > log.txt & echo neue path.txt erstellt & echo erstellt am %date% um %time% > path.txt & pause 
56.
 
57.
:QuellPfadVoll 
58.
set /p Quellpfad=bitte pfad der zu kopierenden daten/verzeichnisse angeben: 
59.
IF [%quellpfad%]==[] goto :START 
60.
If not exist "%Quellpfad%" goto :QuellPfadVoll 
61.
 
62.
set /p Zielpfad=bitte ziel-Pfad angeben: 
63.
IF [%Zielpfad%]==[] goto :start 
64.
 
65.
echo Quellpfad: %Quellpfad% >> path.txt 
66.
echo Zielpfad: %Zielpfad% >> path.txt 
67.
echo. 
68.
xcopy /C /I /e /s /r /h /o /x "%Quellpfad%" "%Zielpfad%" && attrib -a /s %QuellPfad%\*.* 
69.
pause 
70.
goto :START 
71.
 
72.
:inkrementelles 
73.
 
74.
IF exist log.txt echo %date% %time% inkrementelles_backup gewaehlt >> log.txt 
75.
IF NOT exist log.txt echo neues logfile(log.txt) erstellt am %date% um %time% > log.txt & echo da noch kein logfile(log.txt) exisiterte, wurde eines erstellt. & pause 
76.
 
77.
IF NOT exist path.txt echo neue path.txt erstellt am %date% um %time% > log.txt & echo neue path.txt erstellt & echo erstellt am %date% um %time% > path.txt & pause 
78.
 
79.
:QuellPfadInc 
80.
set /p Quellpfad=bitte pfad der zu kopierenden daten/verzeichnisse angeben: 
81.
IF [%quellpfad%]==[] goto :START 
82.
If not exist "%Quellpfad%" goto :QuellPfadInc 
83.
 
84.
set /p Zielpfad=bitte ziel-Pfad angeben: 
85.
IF [%Zielpfad%]==[] goto :start 
86.
 
87.
echo Quellpfad: %Quellpfad% >> path.txt 
88.
echo Zielpfad: %Zielpfad% >> path.txt 
89.
 
90.
xcopy /M /C /I /e /s /r /h /o /x "%Quellpfad%" "%Zielpfad%" 
91.
echo. 
92.
pause 
93.
goto :START 
94.
 
95.
:differenzielles 
96.
 
97.
IF exist log.txt echo %date% %time% differenzielles_backup gewaehlt >> log.txt 
98.
IF NOT exist log.txt echo neues logfile(log.txt) erstellt am %date% um %time% > log.txt & echo da noch kein logfile(log.txt) existierte, wurde eines erstellt. & pause 
99.
 
100.
IF NOT exist path.txt echo neue path.txt erstellt am %date% um %time% > log.txt & echo neue path.txt erstellt & echo erstellt am %date% um %time% > path.txt & pause 
101.
 
102.
:QuellPfadDiff 
103.
set /p Quellpfad=bitte pfad der zu kopierenden daten/verzeichnisse angeben: 
104.
IF [%quellpfad%]==[] goto :START 
105.
If not exist "%Quellpfad%" goto :QuellPfadDiff 
106.
 
107.
set /p Zielpfad=bitte ziel-Pfad angeben: 
108.
IF [%Zielpfad%]==[] goto :start 
109.
 
110.
echo Quellpfad: %Quellpfad% >> path.txt 
111.
echo Zielpfad: %Zielpfad% >> path.txt 
112.
 
113.
xcopy /A /C /I /e /s /r /h /o /x "%Quellpfad%" "%Zielpfad%" 
114.
echo. 
115.
pause 
116.
 
117.
goto :Start 
118.
 
119.
:logfilea 
120.
 
121.
IF exist log.txt echo %date% %time% logfile(log.txt) ansehen gewaehlt >> log.txt & start log.txt 
122.
IF NOT exist log.txt echo neues logfile(log.txt) erstellt am %date% um %time% > log.txt & echo da noch kein logfile(log.txt) existierte, wurde eines erstellt. & goto :START 
123.
 
124.
goto :START 
125.
 
126.
:logfilel 
127.
 
128.
del log.txt 
129.
echo. 
130.
echo Das logfile(log.txt) wurde erfolgreich geloescht! 
131.
echo. 
132.
pause 
133.
goto :START 
134.
 
135.
:logfileil 
136.
 
137.
echo. > log.txt 
138.
 
139.
goto :START 
140.
 
141.
:beenden 
142.
exit
Da ich nicht so ganz verstehe, was Du mit "path.txt" vor hast, habe ich diese Datei vorläufig nur zum Loggen der Pfade verwendet.

Grüße
bastla

[Edit] Anmerkung: Die "xcopy"-Option /Y zum kommentarlosen Überschreiben bereits vorhandener Dateien wäre vor allem für die Differenzsicherung ratsam. [/Edit]
Bitte warten ..
Mitglied: bastla
20.04.2007 um 19:28 Uhr
@miniversum

Simulieren wir den Ablauf mit ein paar Dateien:

01.
Verzeichnis Vollbackup (erstellt: Sonntag 15.04.2007) 
02.
Datei1.txt 11.04.2007 
03.
Datei2.txt 12.04.2007 
04.
Datei3.txt 13.04.2007 
05.
Datei4.txt 14.04.2007 
06.
 
07.
Verzeichnis Inkrementbackup (Stand: Montag 16.04.2007) 
08.
leer 
09.
 
10.
Verzeichnis Daten (Stand: Montag 16.04.2007) 
11.
Datei1.txt 16.04.2007 (am Montag geändert) 
12.
Datei2.txt 12.04.2007 
13.
Datei3.txt 13.04.2007 
14.
Datei4.txt 14.04.2007 
15.
Datei5.txt 16.04.2007 (am Montag hinzugefügt) 
16.
 
17.
Backup Montag 16.04.2007 
18.
======================== 
19.
"xcopy /D /L Daten Vollbackup" ergibt: 
20.
Datei1.txt 16.04.2007 
21.
Datei5.txt 16.04.2007 
22.
 
23.
"xcopy /D /L Daten Inkrementbackup" ergibt: 
24.
Datei1.txt 16.04.2007 
25.
Datei2.txt 12.04.2007 
26.
Datei3.txt 13.04.2007 
27.
Datei4.txt 14.04.2007 
28.
Datei5.txt 16.04.2007 
29.
 
30.
Zu kopieren (da in beiden Listen enthalten): 
31.
Datei1.txt 16.04.2007 
32.
Datei5.txt 16.04.2007
01.
Verzeichnis Inkrementbackup (Stand: Dienstag 17.04.2007) 
02.
Datei1.txt 16.04.2007 
03.
Datei5.txt 16.04.2007 
04.
 
05.
Verzeichnis Daten (Stand: Dienstag 17.04.2007) 
06.
Datei1.txt 16.04.2007 (am Montag geändert) 
07.
Datei2.txt 17.04.2007 (am Dienstag geändert) 
08.
Datei3.txt 13.04.2007 
09.
Datei4.txt 14.04.2007 
10.
Datei5.txt 16.04.2007 (am Montag hinzugefügt) 
11.
Datei6.txt 17.04.2007 (am Dienstag hinzugefügt) 
12.
 
13.
Backup Dienstag 17.04.2007 
14.
======================== 
15.
"xcopy /D /L Daten Vollbackup" ergibt: 
16.
Datei1.txt 16.04.2007 
17.
Datei2.txt 17.04.2007 
18.
Datei5.txt 16.04.2007 
19.
Datei6.txt 17.04.2007 
20.
 
21.
"xcopy /D /L Daten Inkrementbackup" ergibt: 
22.
Datei2.txt 17.04.2007 
23.
Datei3.txt 13.04.2007 
24.
Datei4.txt 14.04.2007 
25.
Datei6.txt 17.04.2007 
26.
 
27.
Zu kopieren (da in beiden Listen enthalten): 
28.
Datei2.txt 17.04.2007 
29.
Datei6.txt 17.04.2007
01.
Verzeichnis Inkrementbackup (Stand: Mittwoch 18.04.2007) 
02.
Datei1.txt 16.04.2007 
03.
Datei2.txt 17.04.2007 
04.
Datei5.txt 16.04.2007 
05.
Datei6.txt 17.04.2007 
06.
 
07.
Verzeichnis Daten (Stand: Mittwoch 17.04.2007) 
08.
Datei1.txt 16.04.2007 (am Mittwoch neuerlich geändert) 
09.
Datei2.txt 17.04.2007 (am Dienstag geändert) 
10.
Datei3.txt 13.04.2007 
11.
Datei4.txt 14.04.2007 
12.
Datei5.txt 16.04.2007 (am Montag hinzugefügt) 
13.
Datei6.txt 17.04.2007 (am Dienstag hinzugefügt) 
14.
Datei7.txt 18.04.2007 (am Mittwoch hinzugefügt) 
15.
 
16.
Backup Mittwoch 18.04.2007 
17.
======================== 
18.
"xcopy /D /L Daten Vollbackup" ergibt: 
19.
Datei1.txt 18.04.2007 
20.
Datei2.txt 17.04.2007 
21.
Datei5.txt 16.04.2007 
22.
Datei6.txt 17.04.2007 
23.
Datei7.txt 18.04.2007 
24.
 
25.
"xcopy /D /L Daten Inkrementbackup" ergibt: 
26.
Datei1.txt 18.04.2007 
27.
Datei3.txt 13.04.2007 
28.
Datei4.txt 14.04.2007 
29.
Datei7.txt 18.04.2007 
30.
 
31.
Zu kopieren (da in beiden Listen enthalten): 
32.
Datei1.txt 18.04.2007 
33.
Datei7.txt 18.04.2007
01.
Verzeichnis Inkrementbackup (Stand: Donnerstag 19.04.2007) 
02.
Datei1.txt 18.04.2007 
03.
Datei2.txt 17.04.2007 
04.
Datei5.txt 16.04.2007 
05.
Datei6.txt 17.04.2007  
06.
Datei7.txt 18.04.2007
... and so on ...

Grüße
bastla
Bitte warten ..
Mitglied: miniversum
21.04.2007 um 16:50 Uhr
Ja genau. und das gerausfinden welche in Beidne Listen Vorhanden sind geht über einen Listen-(Datei-)vergleich. Oder wie kommst du sonst zum Ergebnis bei "Zu kopieren (da in beiden Listen enthalten)"

miniversum
Bitte warten ..
Mitglied: bastla
21.04.2007 um 17:57 Uhr
@miniversum

Schematisch sähe das so aus:
01.
@echo off & setlocal enabledelayedexpansion 
02.
set "Daten=C:\Alle Daten" 
03.
set "Voll=D:\Sicherung\Voll" 
04.
set "Inkr=D:\Sicherung\Inkr" 
05.
xcopy /D /L /S /Y "%Daten%" "%Voll%" | findstr /v /C:"Datei(en) kopiert" > ListeV.txt 
06.
xcopy /D /L /S /Y "%Daten%" "%Inkr%" | findstr /v /C:"Datei(en) kopiert" > ListeI.txt 
07.
for /f "delims=" %%i in (ListeV.txt) do findstr /C:"%%i" ListeI.txt >nul && call :Kopiere "%%i" 
08.
goto :eof 
09.
:Kopiere 
10.
set "Pfad=%~dp1" 
11.
set "RelPfad=!Pfad:%Daten%\=! 
12.
set "AbsPfad=%Inkr%\%RelPfad%" 
13.
if not exist "%AbsPfad%" md "%AbsPfad%" 
14.
copy /y %1 "%AbsPfad%" >nul
Wenn (vermutlich) die "ListeV.txt" kürzer ist, wird es aus Performancegründen besser sein, diese per Schleife abzuarbeiten, ansonsten kann man die Listen auch umgekehrt anordnen.

Grüße
bastla
Bitte warten ..
Mitglied: miniversum
22.04.2007 um 10:10 Uhr
Ok jetzt hab ichs verstanden. du machst den Vergleich direkt in der For Schleife. Ich hab den Vergleich und das Kopieren als zwei Schritte gesehen.
Naja bin eben kein ITler...

miniversum
Bitte warten ..
Mitglied: bastla
22.04.2007 um 18:25 Uhr
@miniversum
Naja bin eben kein ITler...
Diese Aussage von Dir lese ich jetzt zumindest schon zum zweiten Mal und stelle mir zumindest zum zweiten Mal die Frage: So what?

Die von Dir angeführte Tatsache scheint Dich nicht daran zu hindern, sinnvolle Beiträge mit guten Ideen zu einem "IT"-Thema zu verfassen ...


Grüße
bastla
Bitte warten ..
Mitglied: miniversum
22.04.2007 um 20:06 Uhr
Danke.
Aber ich denke schon das eben ein Gelernter ITler manche Standardferfahren und methoden kennt die ich vielelicht zum ersten mal hört. Mein schwerpunkt liegt da eher im Programmier- und technischen Bereich.

miniversum
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Hyper-V
Altaro VM Backup auf RDX

Frage von smeclnt zum Thema Hyper-V ...

Windows Server
gelöst BackupExec 2016 Fehler beim Backup von Windows 2016 (1)

Frage von Looser27 zum Thema Windows Server ...

Vmware
Veeam für VM Ware Backup Fehler (2)

Frage von JoergN1968 zum Thema Vmware ...

SAN, NAS, DAS
gelöst NAS RAID5 - RAID0 und Backup (7)

Frage von easy4breezy zum Thema SAN, NAS, DAS ...

Heiß diskutierte Inhalte
Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Grafikkarten & Monitore
Tonprobleme bei Fernseher mit angeschlossenem Laptop über HDMI (11)

Frage von Y3shix zum Thema Grafikkarten & Monitore ...

Microsoft Office
Keine Updates für Office 2016 (11)

Frage von Motte990 zum Thema Microsoft Office ...