Batch zum vergleichen und kopieren von Dateien
Hallo Forum,
ich bin auf der Suche nach einer Möglichkeit, Dateien zu vergleichen und fehlende zu kopieren.
In Laufwerk c:\test kommen Dateien rein, in verschiedenen Unterverzeichnissen (es kommen auch neue UV hinzu).
Es kommen in diese Unterverzeichnisse Texdateien.
Diese Textdateien sollen nun auf D:\Archiv archiviert werden, allerdings ohne die Unterverzeichnisstruktur von c:\test, also alle txt Dateien in D:\Archiv.
Es soll überprüft werden, ob die Datei blabla123.txt, in einem beliebigen Unterverzeichnis von c:\test, bereits in d:\Archiv vorhanden ist und falls nicht, dorthin kopiert werden.
Da ich nicht wirklich einen Plan von Batchprogrammierung habe, wende ich mich hoffnungsvoll an euch...
Die Möglichkeit von z.B. SyncToy von MS habe ich auch schon in Betracht gezogen, leider legt das Tool auch die kompletten Pfade mit an...
Gruß
jhe1960
ich bin auf der Suche nach einer Möglichkeit, Dateien zu vergleichen und fehlende zu kopieren.
In Laufwerk c:\test kommen Dateien rein, in verschiedenen Unterverzeichnissen (es kommen auch neue UV hinzu).
Es kommen in diese Unterverzeichnisse Texdateien.
Diese Textdateien sollen nun auf D:\Archiv archiviert werden, allerdings ohne die Unterverzeichnisstruktur von c:\test, also alle txt Dateien in D:\Archiv.
Es soll überprüft werden, ob die Datei blabla123.txt, in einem beliebigen Unterverzeichnis von c:\test, bereits in d:\Archiv vorhanden ist und falls nicht, dorthin kopiert werden.
Da ich nicht wirklich einen Plan von Batchprogrammierung habe, wende ich mich hoffnungsvoll an euch...
Die Möglichkeit von z.B. SyncToy von MS habe ich auch schon in Betracht gezogen, leider legt das Tool auch die kompletten Pfade mit an...
Gruß
jhe1960
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 103456
Url: https://administrator.de/contentid/103456
Ausgedruckt am: 22.11.2024 um 21:11 Uhr
6 Kommentare
Neuester Kommentar
Wenn es wirklich nur um die Existenz eine TXT.Datei geht, dann würde meines Erachtens, und ungetestet, folgender Befehl reichen:
der For-Befehl erledigt dabei folgendes: für jede Zeile des Befehls "dir c:\test\*.txt /s /b" (gib das ruhig mal auf der Konsole ein) macht er:
er prüft, ob in d:\Archiv eine Textdatei mit dem gleichen Namen und der gleichen Erweiterung existiert, und wenn das nicht der Fall ist, dann kopiert er die Datei, die er mit dem Dir-Befehl gefunden hat nach d:\Archiv, und gibt ihr dort den gleichen Namen wie im Original, und die gleiche Erweiterung.
Wenn du Diese Zeile in eine Batch-Datei einbinden willst, dann müsstest du alle vorkommen von %i durch %%i ersetzte, auch %~ni durch %%~nu usw. Für weitere Erläuterung meiner Befehle kannst du dir auf der Kommandozeile auch mal mit dir /? und for /? und if /? angucken, was die sonst so noch können.
lg, schönes WE, Ren
for /F "tokens=*" %i in ('dir c:\test\*.txt /s /b') do if not exist "d:\Archiv\%~ni%~xi" copy "%~i" "d:\Archiv\%~ni%~xi"
er prüft, ob in d:\Archiv eine Textdatei mit dem gleichen Namen und der gleichen Erweiterung existiert, und wenn das nicht der Fall ist, dann kopiert er die Datei, die er mit dem Dir-Befehl gefunden hat nach d:\Archiv, und gibt ihr dort den gleichen Namen wie im Original, und die gleiche Erweiterung.
Wenn du Diese Zeile in eine Batch-Datei einbinden willst, dann müsstest du alle vorkommen von %i durch %%i ersetzte, auch %~ni durch %%~nu usw. Für weitere Erläuterung meiner Befehle kannst du dir auf der Kommandozeile auch mal mit dir /? und for /? und if /? angucken, was die sonst so noch können.
lg, schönes WE, Ren
sollte hiermit auch funktionieren
http://www.pcwelt.de/downloads/pcwelt_tools/tools/76884/pcwdatenabgleic ...
http://www.pcwelt.de/downloads/pcwelt_tools/tools/76884/pcwdatenabgleic ...