Neueste Dateien Per Batch kopieren
Hallo,
bin gerade auf der Suche nach einer Möglichkeit mehrere Dateien vom typ *.bkf per Batch zu kopieren.
Dabei sollen immer die neuesten Sicherungen kopiert werden. Also aktuelles Datum - 1 Tag.
Das ganze wollte ich per xcopy machen, Wenn dies möglich ist. Oder Weiß jemand eine Bessere Möglichkeit.
Das ganze Szenario ist so die Daten liegen auf einem NAS und sollen nachehr mit Hilfe dieser Datei auf eine Externe Festplatte geschrieben werden.
bin gerade auf der Suche nach einer Möglichkeit mehrere Dateien vom typ *.bkf per Batch zu kopieren.
Dabei sollen immer die neuesten Sicherungen kopiert werden. Also aktuelles Datum - 1 Tag.
Das ganze wollte ich per xcopy machen, Wenn dies möglich ist. Oder Weiß jemand eine Bessere Möglichkeit.
Das ganze Szenario ist so die Daten liegen auf einem NAS und sollen nachehr mit Hilfe dieser Datei auf eine Externe Festplatte geschrieben werden.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 219973
Url: https://administrator.de/contentid/219973
Ausgedruckt am: 16.11.2024 um 21:11 Uhr
19 Kommentare
Neuester Kommentar
Hallo shooan,
machs doch mit Robocopy:
oder via Powershell:
Ansonsten gibt es hier zu diesem Thema etliche Beiträge die du mit der Suchfunktion findest...
Grüße Uwe
machs doch mit Robocopy:
Beispiel (bkf-Dateien die max. 24h alt sind von F:\ nach G:\ kopieren):
robocopy "F:\" "G:\" *.bkf /copyall /maxage:1
dir F:\*.bkf | ?{$_.LastWriteTime -gt (Get-date).AddDays(-1)} | Copy-Item -Destination "G:\"
Grüße Uwe
Zitat von @shooan:
Danke colinardo für die schnelle Antwort. Der Power Shell befehlt geht. der Mit Robocopy irgendwie nicht.
Der sollte aber gehen, hatte kurz nach meiner Veröffentlichung noch einen kleinen Fehler korrigiert, vielleicht hattest du die fehlerhafte Zeile kopiert und ausprobiert.Danke colinardo für die schnelle Antwort. Der Power Shell befehlt geht. der Mit Robocopy irgendwie nicht.
Nun muss ich mal blöd fragen, wie bekommt man den Powershell Befehl in eine Ausführbare Datei die einfach per
Doppelklick ausgeführt werden kann?
Den Befehl als *.ps1 speichern und dann Rechtsklick auf die Datei -> "Mit Powershell ausführen".Doppelklick ausgeführt werden kann?
Man kann die Erweiterung für den Explorer auch so einstellen das PS-Scripte bei einem Doppelklick ausgeführt werden. Dazu kann man z.B. das Tool ExtMan benutzen.
Grüße Uwe
Zitat von @shooan:
Nun noch eine kleine Frage, wie müsste ich das Script denn umbauen wenn ich nur die Aktuellste Datei will mit Robocopy? Nicht
Aktuelles Datum -1 Tag.
Nun noch eine kleine Frage, wie müsste ich das Script denn umbauen wenn ich nur die Aktuellste Datei will mit Robocopy? Nicht
Aktuelles Datum -1 Tag.
dir "F:\*.bkf" | Sort-Object -Descending -Property LastWriteTime | select -First 1 | Copy-Item -Destination "G:\"
Das ist eine stink normale Batchdatei.
Du darfst deine Pfade nicht mit einem Backslash abschließen.
Die Batch listet alle *.bkf-Dateien in dem Verzeichnis auf und sortiert diese absteigend nach Datum so das der Pfad der neuesten Datei ganz oben steht, diese wird in dein Zielverzeichnis kopiert und das Script verlässt die Schleife.
Grüße Uwe
Du darfst deine Pfade nicht mit einem Backslash abschließen.
Die Batch listet alle *.bkf-Dateien in dem Verzeichnis auf und sortiert diese absteigend nach Datum so das der Pfad der neuesten Datei ganz oben steht, diese wird in dein Zielverzeichnis kopiert und das Script verlässt die Schleife.
Grüße Uwe
Zitat von @shooan:
Wie ich gerade sehe kopiert er nur die Aktuellste Datei, das ist zwar gut aber er müsste die anderen Dateien die heute auch
geschrieben wurden auch mit kopieren.
dann war deine erste Beschreibung zu ungenauWie ich gerade sehe kopiert er nur die Aktuellste Datei, das ist zwar gut aber er müsste die anderen Dateien die heute auch
geschrieben wurden auch mit kopieren.
Zitat von @shooan:
Wie ich gerade sehe kopiert er nur die Aktuellste Datei, das ist zwar gut aber er müsste die anderen Dateien die heute auch
geschrieben wurden auch mit kopieren.
Wie ich gerade sehe kopiert er nur die Aktuellste Datei, das ist zwar gut aber er müsste die anderen Dateien die heute auch
geschrieben wurden auch mit kopieren.
@echo off & setlocal
set today=%date:~6,4%%date:~3,2%%date:~0,2%
robocopy "\\Ad-nt-03\s\BEData" "D:\Test" *.bkf /maxage:%today%
Damit sollte der Beitrag erledigt sein ...
Viel Erfolg
Grüße Uwe
siehe letzten post ...
Wenns das dann war, den Beitrag bitte noch als gelöst markieren. Danke.
Wenns das dann war, den Beitrag bitte noch als gelöst markieren. Danke.