Xcopy jedoch nur die Dateien die nicht älter
Hallo Zusammen,
Wie kann ich diese Script anpassen, so dass aus der Quelle nur die Dateien kopiert werden, die nicht älter sind als 24 stunden?
xcopy "G:\Backup-VM-Cloud-Web-2\imagessystem\*.*" "F:\Backup-VM-Cloud-Web-2\" /S /Y
danke
Wie kann ich diese Script anpassen, so dass aus der Quelle nur die Dateien kopiert werden, die nicht älter sind als 24 stunden?
xcopy "G:\Backup-VM-Cloud-Web-2\imagessystem\*.*" "F:\Backup-VM-Cloud-Web-2\" /S /Y
danke
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 273674
Url: https://administrator.de/contentid/273674
Ausgedruckt am: 26.11.2024 um 01:11 Uhr
13 Kommentare
Neuester Kommentar
Hallo!
Gruß
Eisbein
Edit: @emeriks Frage ist durchaus berechtigt!! Was soll es nun sein?
Robocopy ist nicht so mein ding
Sollte es aber unbedingt werden ! robocopy.exe E:\Ordner E:\TEMP /E /MAXAGE:1 /R:1 /W:1
E:\Ordner : Quellordner
E:\TEMP : Zielordner
/E : inklusive Unterverzeichnisse
/MAXAGE:1 : Maximalalter, Dateien die älter als 1Tag sind werden ignoriert
/R:1 : Bei Fehler 1x noch mal versuchen
/W:1 : zwischen Wiederholungen 1 Sekunde warten (bei Fehler)
Gruß
Eisbein
Edit: @emeriks Frage ist durchaus berechtigt!! Was soll es nun sein?
Hi zeroblue.
Schau dir doch mal bitte dieses Beispiel an.
Forfiles /P E:\Ordner\ /S /M *.* /D -8 /C "cmd /c del /q @path"
/P E:\Ordner : Pfad auf dem die Suche gestartet werden soll
/S : Bitte mit allen Unterordnern
/M *.* : Suchmaske - hier alle Dateien (ausser denen ohne Dateiendung)
/D -8 : Letztes Änderungsdatum älter als 8 Tage zum heutigen Datum
/C "cmd /c del /q @path" : Befehl der mit diesen Dateien ausgeführt werden soll (hier löschen)
das del /q dann einfach durch dein xcopy mit Parametern ersetzen.
Grüße
Schau dir doch mal bitte dieses Beispiel an.
Forfiles /P E:\Ordner\ /S /M *.* /D -8 /C "cmd /c del /q @path"
/P E:\Ordner : Pfad auf dem die Suche gestartet werden soll
/S : Bitte mit allen Unterordnern
/M *.* : Suchmaske - hier alle Dateien (ausser denen ohne Dateiendung)
/D -8 : Letztes Änderungsdatum älter als 8 Tage zum heutigen Datum
/C "cmd /c del /q @path" : Befehl der mit diesen Dateien ausgeführt werden soll (hier löschen)
das del /q dann einfach durch dein xcopy mit Parametern ersetzen.
Grüße
Mahlzeit!
Wie sehen denn nun die Verzeichnisse/Dateien aus die du kopieren willst?
Hast du nun mehrere Verzeichnisse die die selbe Datei beinhalten?
Erweitere deine robocopy-Parameter mit /xo
/XO
Es werden keine Dateien kopiert, die im Quell-Verzeichnis als älter definiert sind.
Alternativ schau dir mal diese Seite an:
http://stackoverflow.com/questions/97371/how-do-i-write-a-windows-batch ...
(der vorletzte Eintrag dürfte interessant sein )
Gruß
Eisbein
Wie sehen denn nun die Verzeichnisse/Dateien aus die du kopieren willst?
Hast du nun mehrere Verzeichnisse die die selbe Datei beinhalten?
Erweitere deine robocopy-Parameter mit /xo
/XO
Es werden keine Dateien kopiert, die im Quell-Verzeichnis als älter definiert sind.
Alternativ schau dir mal diese Seite an:
http://stackoverflow.com/questions/97371/how-do-i-write-a-windows-batch ...
(der vorletzte Eintrag dürfte interessant sein )
Gruß
Eisbein
Guten Morgen!
Wenn du immer den gleichen Dateinamen hast und sich nur das Datum ändert, kannst du diesen aktuellen Dateinamen im Patch erstellen und dann immer diese Datei kopieren:
Beispiel:
Parameter /L bei robocopy:
Gibt nur eine Liste der Dateien aus, führt aber keinen Kopiervorgang durch. Die Option ist sinnvoll um einen Kopiervorgang zu simulieren - dazu die Option einfach ans Ende des Befehls stellen.
Gruß
Eisbein
Wenn du immer den gleichen Dateinamen hast und sich nur das Datum ändert, kannst du diesen aktuellen Dateinamen im Patch erstellen und dann immer diese Datei kopieren:
Beispiel:
set mydate=%date:~-4%-%date:~3,2%-%date:~0,2%
robocopy.exe C:\Ordner\image_backup-sda-%mydate%.dd.gz X:\TEMP /R:1 /W:1
Parameter /L bei robocopy:
Gibt nur eine Liste der Dateien aus, führt aber keinen Kopiervorgang durch. Die Option ist sinnvoll um einen Kopiervorgang zu simulieren - dazu die Option einfach ans Ende des Befehls stellen.
Gruß
Eisbein