Batch script zum Ordner gegeneinander prüfen und kopieren
Hallo zusammen,
ich möchte mit einem batch script einen Ordner kopieren. Der Ordner soll jedoch nur dann kopiert werden, wenn es eine Änderung gab (am besten über ein Datumsabgleich).
Ordner1 wird täglich neu erstellt (gibt es aber einen Fehler, bleibt der Ordner1 vom Vortag bestehen). Ordner2 ist das Ziel.
Anwendung 1:
Ordner1 wurde am 11.11.2011 neu erstellt; batch script kommt und überprüft an Hand des Datumsattributes ob Ordner1 aktueller ist als Ordner2(ist vom 10.11.2011). Wenn ja, dann lösche Ordner2 und kopiere Ordner1.
Anwendung2:
Ordner1 wurde am 11.11.2011 nicht neu erstellt; batch script kommt und überprüft an Hand des Datumsattributes ob Ordner1 aktueller ist als Ordner2. Wenn nicht, dann brech den Vorgang ab.
Anwendung3:
Ist Ordner1 überhaupt nicht vorhanden, brech den Vorgang ab. (Habe ich bereits als Code erzeugt).
Hier ein Auszug:
set ORDNER1 =”c:\temp_backup\dailybackup”
set ORDNER2 =“d:\backups\database“
::
:: check folder
::
IF NOT EXIST %ORDNER1% goto abort | echo %time%: folder %ORNDER1% does not exist >> %LOGFILE%
IF EXIST (
) ELSE ( goto abort
)
:changed
echo %time%: deleting %ORDNER2% >> %LOGFILE%
IF EXIST %ORDNER2% rmdir /s /q %ORDNER2% goto copy
:copy
echo %time%: copy backup directory from %ORDNER1% into %ORNDER2% >> %LOGFILE%
xcopy /S/E/Y %ORDNER1% %ORNDER2% | exit
:abort
echo %time%: abort >> %LOGFILE%
Hat jemand eine Ahnung wie ich die Ordner gegeneinander prüfe? Habe es über xcopy /M versuchte; jedoch ohne Erfolg.
ich möchte mit einem batch script einen Ordner kopieren. Der Ordner soll jedoch nur dann kopiert werden, wenn es eine Änderung gab (am besten über ein Datumsabgleich).
Ordner1 wird täglich neu erstellt (gibt es aber einen Fehler, bleibt der Ordner1 vom Vortag bestehen). Ordner2 ist das Ziel.
Anwendung 1:
Ordner1 wurde am 11.11.2011 neu erstellt; batch script kommt und überprüft an Hand des Datumsattributes ob Ordner1 aktueller ist als Ordner2(ist vom 10.11.2011). Wenn ja, dann lösche Ordner2 und kopiere Ordner1.
Anwendung2:
Ordner1 wurde am 11.11.2011 nicht neu erstellt; batch script kommt und überprüft an Hand des Datumsattributes ob Ordner1 aktueller ist als Ordner2. Wenn nicht, dann brech den Vorgang ab.
Anwendung3:
Ist Ordner1 überhaupt nicht vorhanden, brech den Vorgang ab. (Habe ich bereits als Code erzeugt).
Hier ein Auszug:
set ORDNER1 =”c:\temp_backup\dailybackup”
set ORDNER2 =“d:\backups\database“
::
:: check folder
::
IF NOT EXIST %ORDNER1% goto abort | echo %time%: folder %ORNDER1% does not exist >> %LOGFILE%
IF EXIST (
) ELSE ( goto abort
)
:changed
echo %time%: deleting %ORDNER2% >> %LOGFILE%
IF EXIST %ORDNER2% rmdir /s /q %ORDNER2% goto copy
:copy
echo %time%: copy backup directory from %ORDNER1% into %ORNDER2% >> %LOGFILE%
xcopy /S/E/Y %ORDNER1% %ORNDER2% | exit
:abort
echo %time%: abort >> %LOGFILE%
Hat jemand eine Ahnung wie ich die Ordner gegeneinander prüfe? Habe es über xcopy /M versuchte; jedoch ohne Erfolg.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 204985
Url: https://administrator.de/contentid/204985
Ausgedruckt am: 22.11.2024 um 06:11 Uhr
3 Kommentare
Neuester Kommentar
Moin,
warum nimmst Du nicht Robocopy? Dafür ist das gute Teil da. Schau Dir die Syntax mit an. Und nutze die Suchfunktion. Wenn Du weitere Fragen hast, melde Dich nochmal.
Hast Du es schonmal mit XCOPY /D versucht?
[EDITH] Und außerdem, Codeformatierungen machen das lesen leichter
Gruß Penny.
warum nimmst Du nicht Robocopy? Dafür ist das gute Teil da. Schau Dir die Syntax mit
robocopy /? | more
Hast Du es schonmal mit XCOPY /D versucht?
[EDITH] Und außerdem, Codeformatierungen machen das lesen leichter
Gruß Penny.