kodach
Goto Top

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

Content-ID: 236028

Url: https://administrator.de/contentid/236028

Ausgedruckt am: 23.11.2024 um 05:11 Uhr

colinardo
Lösung colinardo 19.04.2014 aktualisiert um 10:10:34 Uhr
Goto Top
Hallo Koda,
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"  
)
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
CortexA8
CortexA8 19.04.2014 um 09:54:29 Uhr
Goto Top
Hi,
Also ich hab etwas ähnliches mit Java geschrieben.
Mit file.exists() und mkdir() ist das eigentlich ganz einfach!
Wenn du willst schicke poste ich ein Beispiel rein.

LG CortexA8
KodaCH
KodaCH 19.04.2014 um 10:11:52 Uhr
Goto Top
Guten Morgen

@colinardo vielen Dank. Genau das wars. Dachte schon es wird gar nicht gehen aber war wohl weniger komplex als befürchtet face-smile

@CortexA8 auch dir vielen Dank. Da ich jedoch alle andere Prozesse die ich für dieses Vorhaben verwende per Batch gelöst werden hilft mir Java wenig face-smile

Gruss und frohe Ostern

Koda
CortexA8
CortexA8 19.04.2014 um 12:25:23 Uhr
Goto Top
Okay :D