Automatisches kopieren von Dateien aus verschiedenden Unterordnern.
Hallo zusammen,
vllt hat jemand von Euch eine Idee:
Zum Problem, täglich werden auf einen FTP Server, Daten in Unterordnern abgelegt, die dann auf einen anderen Server für den Import kopiert werden müssen.
Nun kann es passieren, dass ein neuer Ordner angelegt wird, ohne das es einem mitgeteilt wird.
Wenn ich eine Batch schreibe, werden nur die Dateien aus den bekannten Ordnern kopiert und ich habe noch keine Möglichkeit gefunden, wie ich auf einen neue Ordner prüfen kann und das dann aus diesen, die Daten automatisch kopiert werden.
Ich bin für Ideen jeglicher Art dankbar.
Gruß
Michael
vllt hat jemand von Euch eine Idee:
Zum Problem, täglich werden auf einen FTP Server, Daten in Unterordnern abgelegt, die dann auf einen anderen Server für den Import kopiert werden müssen.
Nun kann es passieren, dass ein neuer Ordner angelegt wird, ohne das es einem mitgeteilt wird.
Wenn ich eine Batch schreibe, werden nur die Dateien aus den bekannten Ordnern kopiert und ich habe noch keine Möglichkeit gefunden, wie ich auf einen neue Ordner prüfen kann und das dann aus diesen, die Daten automatisch kopiert werden.
Ich bin für Ideen jeglicher Art dankbar.
Gruß
Michael
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 342935
Url: https://administrator.de/contentid/342935
Ausgedruckt am: 22.11.2024 um 18:11 Uhr
13 Kommentare
Neuester Kommentar
winscp kann das von Haus aus mit der synchronize Option.
http://winscp.net/eng/docs/scriptcommand_synchronize
Gruß
http://winscp.net/eng/docs/scriptcommand_synchronize
Gruß
Wenn Du es mit Batch machen möchtest, hier ein Einsatz:
Dieser Code verschiebt aus der Unterordnerstruktur \Ordner\Ordner alle auffindbaren Dateien, egal in welchen (neuen) Unterverzeichnissen diese angelegt werden zum Ziel \\Server\Eingang.
Wenn ich das richtig sehe, willst Du die Dateien in der Ordnerstruktur gleichhalten. Du kannst mit xcopy auch mal Dein Glück versuchen.
Damit müssten sich Synchronsierungen ebenfalls bewerkstelligen lassen.
Noch eine Alternative:
Robocopy für den Kenner. Ein heißes Teil, musst aber probieren, bis es sitzt. Die Optionenanzahl ist riesig.
@ECHO OFF
cd \Ordner\Ordner
for /f "tokens=*" %%f in ('dir /a:-D /s /b') do move "%%f" \\Server\Eingang\
Dieser Code verschiebt aus der Unterordnerstruktur \Ordner\Ordner alle auffindbaren Dateien, egal in welchen (neuen) Unterverzeichnissen diese angelegt werden zum Ziel \\Server\Eingang.
Wenn ich das richtig sehe, willst Du die Dateien in der Ordnerstruktur gleichhalten. Du kannst mit xcopy auch mal Dein Glück versuchen.
Damit müssten sich Synchronsierungen ebenfalls bewerkstelligen lassen.
Noch eine Alternative:
Robocopy für den Kenner. Ein heißes Teil, musst aber probieren, bis es sitzt. Die Optionenanzahl ist riesig.
Mappst du einfach kurzerhand in deinem Skript den UNC-Pfad mit net use, simple and works.
Logisch, sollte ja auch
Viel Spaß bei Dateien mit selben Namen, die werden dann überschrieben :-P
cd c:\Test
heißen.Viel Spaß bei Dateien mit selben Namen, die werden dann überschrieben :-P
Zitat von @133417:
Logisch, sollte ja auch
Viel Spaß bei Dateien mit selben Namen, die werden dann überschrieben :-P
Logisch, sollte ja auch
cd c:\Test
heißen.Viel Spaß bei Dateien mit selben Namen, die werden dann überschrieben :-P
Move /y würde ohne Rückfrage überschreiben. Das ist richtig.
In Zeile 3 setze noch einen \ hinter C:\Backup
Dieser kleine Scriptteufel hier geht bei mir, weil jede Datei einen eindeutigen Namen hat.
Nö, in einem Batch File abgelegt wird auch ohne die Option /y überschrieben, genau so wie beim Copy Befehl der das auch tut.
Probier's mal selbst.
Steht aber auch hier
https://ss64.com/nt/move.html
Probier's mal selbst.
Steht aber auch hier
https://ss64.com/nt/move.html
Zitat von @michael1309:
Vielen Dank, selben Namen gibt es nicht, werden immer mit Datum und Uhrzeit (hh:mm:ss) versehen im Dateinamen.
Aber bestimmt ohne die Doppelpunkte Vielen Dank, selben Namen gibt es nicht, werden immer mit Datum und Uhrzeit (hh:mm:ss) versehen im Dateinamen.