Zwei Verzeichnise Vergleichen und Nicht vorhandene Datei löschen
Guten Morgen
Ich suche eine Möglichkeit um zwei Verzeichnisse ohne deren Unterverzeichnisse zu vergleichen und eine nicht vorhandene Datei zu löschen. Geht sowas mit einer Batch überhaupt?
- Ich habe ein Verzeichnis A
- Ich habe ein Verzeichnis B
- Es soll nur im Hauptverzeichnis gesucht werden nicht in Unterordner.
- Es soll nur nach einer Dateiendung xyz verglichen werden.
- Ich möchte nun vergleichen, ob es im Verzeichnis B Dateien gibt die NICHT im Verzeichnis A sind. Wenn ja soll er diese im Verzeichnis B löschen.
Beispiel:
Verzeichnis A:
Datei1.xyz
Datei2.xyz
Datei4.xyz
Verzeichnis B:
Datei1.xyz
Datei2.xyz
Datei3.xyz
Datei4.xyz
Jetzt hat es im Verzeichnis B die Datei Datei3.xyz drin die gelöscht werden soll. Es kann sein das es mal keine hat oder mal mehr als eine hat die gelöscht werden muss.
Verzeichnis A soll immer unberührt bleiben. Also nur schauen ob in Verzeichnis B Dateien zuviel drin sind mit der Dateiendung xyz
Wenn dies mit einer Batch nicht gehen sollte, hat jemand eine Idee wie das gemacht werden könne?
Gruss und Danke
Koda
Ich suche eine Möglichkeit um zwei Verzeichnisse ohne deren Unterverzeichnisse zu vergleichen und eine nicht vorhandene Datei zu löschen. Geht sowas mit einer Batch überhaupt?
- Ich habe ein Verzeichnis A
- Ich habe ein Verzeichnis B
- Es soll nur im Hauptverzeichnis gesucht werden nicht in Unterordner.
- Es soll nur nach einer Dateiendung xyz verglichen werden.
- Ich möchte nun vergleichen, ob es im Verzeichnis B Dateien gibt die NICHT im Verzeichnis A sind. Wenn ja soll er diese im Verzeichnis B löschen.
Beispiel:
Verzeichnis A:
Datei1.xyz
Datei2.xyz
Datei4.xyz
Verzeichnis B:
Datei1.xyz
Datei2.xyz
Datei3.xyz
Datei4.xyz
Jetzt hat es im Verzeichnis B die Datei Datei3.xyz drin die gelöscht werden soll. Es kann sein das es mal keine hat oder mal mehr als eine hat die gelöscht werden muss.
Verzeichnis A soll immer unberührt bleiben. Also nur schauen ob in Verzeichnis B Dateien zuviel drin sind mit der Dateiendung xyz
Wenn dies mit einer Batch nicht gehen sollte, hat jemand eine Idee wie das gemacht werden könne?
Gruss und Danke
Koda
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 236028
Url: https://administrator.de/contentid/236028
Ausgedruckt am: 23.11.2024 um 05:11 Uhr
4 Kommentare
Neuester Kommentar
Hallo Koda,
kannst du so machen:
Im Moment ist der Code noch nicht "scharf" geschaltet und dem del Befehl für deine Testversuche noch ein echo vorgeschaltet. Wenn es geht wie gewünscht einfach das echo entfernen.
Grüße Uwe
kannst du so machen:
@echo off
set "ordnerA=C:\Ordner1"
set "ordnerB=C:\Ordner2"
for %%a in ("%ordnerB%\*.xyz") DO @(
if not exist "%ordnerA%\%%~nxa" echo del /q "%ordnerB%\%%~nxa"
)
Grüße Uwe