Batch: Dateien in Unterordnern überschreiben
Hallo zusammen,
folgendes Problem. Ich schildere es anhand von jpeg Dateien. Spielt jedoch keine Rolle.
ich habe 2 Verzeichnisse:
(1) Verzeichnis A mit sehr vielen Unterordnern. In diesen Unterordnern liegen jeweils eine Vielzahl von Bilddateien z.B. insgesamt 5000 Dateien verteilt auf die jeweiligen Unterordner. Alle Dateien sind individuell benannt. Es kommen keine Duplikate vor.
C:\Bilder\0001 (Inhalt: 14.jpg, 28.jpg, 25.jpg, 29.jpg)
C:\Bilder\0002 (Inhalt: 100.jpg, 167.jpg, 234.jpg, 54.jpg)
C:\Bilder\0003 (Inhalt: 45.jpg, 87.jpg, 43.jpg, 55.jpg, 11.jpg, 98.jpg)
usw.
(2) Verzeichnis B liegen Bilddateien aus diesen 5000 Dateien (z.B. 100 Stk), die in Verzeichnis A auch auftauchen. Diese Dateien aus Verzeichnis B sind allerdings aktueller und sollen wieder in das Hauptverzeichnis A zurück kopiert werden um die alten bzw. fehlerhaften Dateien zu ersetzen.
Wie schaffe ich es, dass die Dateinamen aus B gesucht werden in den Unterordnern und die Datei auch ersetzt wird?
Danke und Gruß
folgendes Problem. Ich schildere es anhand von jpeg Dateien. Spielt jedoch keine Rolle.
ich habe 2 Verzeichnisse:
(1) Verzeichnis A mit sehr vielen Unterordnern. In diesen Unterordnern liegen jeweils eine Vielzahl von Bilddateien z.B. insgesamt 5000 Dateien verteilt auf die jeweiligen Unterordner. Alle Dateien sind individuell benannt. Es kommen keine Duplikate vor.
C:\Bilder\0001 (Inhalt: 14.jpg, 28.jpg, 25.jpg, 29.jpg)
C:\Bilder\0002 (Inhalt: 100.jpg, 167.jpg, 234.jpg, 54.jpg)
C:\Bilder\0003 (Inhalt: 45.jpg, 87.jpg, 43.jpg, 55.jpg, 11.jpg, 98.jpg)
usw.
(2) Verzeichnis B liegen Bilddateien aus diesen 5000 Dateien (z.B. 100 Stk), die in Verzeichnis A auch auftauchen. Diese Dateien aus Verzeichnis B sind allerdings aktueller und sollen wieder in das Hauptverzeichnis A zurück kopiert werden um die alten bzw. fehlerhaften Dateien zu ersetzen.
Wie schaffe ich es, dass die Dateinamen aus B gesucht werden in den Unterordnern und die Datei auch ersetzt wird?
Danke und Gruß
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-Key: 1389487712
Url: https://administrator.de/contentid/1389487712
Ausgedruckt am: 28.03.2024 um 19:03 Uhr
5 Kommentare
Neuester Kommentar
Mit der Powershell z.B.
$filesA = dir "d:\ordnerA" -file -recurse
$filesB = dir "d:\ordnerB" -file -recurse
Foreach($fileB in $filesB){
$filesA | ?{$_.Name -eq $fileB.Name} | %{copy-item $fileB.Fullname -Destination $_.Fullname -force -verbose}
}
Zitat von @Toffinio:
Hallo hacktor,
ich habe deine Antwort mal ausprobiert mit Dummy Ordnern. Letztendlich wie oben beschrieben ordnerA und ordnerB.
Habe in ordnerA Unterordner angelegt mit Textdateien. Im OrdnerB liegen eine Auswahl an Textdateien aus A.
Ich bekomme die Fehlermeldung Textdatei aus A kann nicht mit sich selbst überschrieben werden.
Hallo hacktor,
ich habe deine Antwort mal ausprobiert mit Dummy Ordnern. Letztendlich wie oben beschrieben ordnerA und ordnerB.
Habe in ordnerA Unterordner angelegt mit Textdateien. Im OrdnerB liegen eine Auswahl an Textdateien aus A.
Ich bekomme die Fehlermeldung Textdatei aus A kann nicht mit sich selbst überschrieben werden.
Nö klappt hier ohne Probleme, guckst du hier die Online Demo
https://tio.run/##bY3LDoIwEEX3/YpZYKILNLo3hsa49BcMliE0ForT4iPIt2N5@UBn08 ...
Ich schätze du hast entweder statt unterschiedlichen Dateien unbewusst Hardlinks von diesen im zweiten Ordner erstellt oder die Ordner falsch angegeben.
Friday solves all your problems 🐟😉