Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Zwei Verzeichnise Vergleichen und Nicht vorhandene Datei löschen

Frage Entwicklung Batch & Shell

Mitglied: KodaCH

KodaCH (Level 1) - Jetzt verbinden

19.04.2014, aktualisiert 10:10 Uhr, 1542 Aufrufe, 4 Kommentare

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
Mitglied: colinardo
LÖSUNG 19.04.2014, aktualisiert um 10:10 Uhr
Hallo Koda,
kannst du so machen:
01.
@echo off 
02.
set "ordnerA=C:\Ordner1" 
03.
set "ordnerB=C:\Ordner2" 
04.
 
05.
for %%a in ("%ordnerB%\*.xyz") DO @( 
06.
 if not exist "%ordnerA%\%%~nxa" echo del /q "%ordnerB%\%%~nxa" 
07.
)
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
Bitte warten ..
Mitglied: CortexA8
19.04.2014 um 09:54 Uhr
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
Bitte warten ..
Mitglied: KodaCH
19.04.2014 um 10:11 Uhr
Guten Morgen

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

@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

Gruss und frohe Ostern

Koda
Bitte warten ..
Mitglied: CortexA8
19.04.2014 um 12:25 Uhr
Okay :D
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Batch & Shell
gelöst Texteil anhand zweier Vorgaben aus Datei löschen (12)

Frage von tiforst zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch Änderungsdatum von Dateien vergleichen und ältere löschen (10)

Frage von 129528 zum Thema Batch & Shell ...

Batch & Shell
gelöst Source löschen wenn Datei im Zielordner vorhanden (1)

Frage von functionstrut zum Thema Batch & Shell ...

Perl
gelöst Mit Perl aus einer Datei teilidentische Zeilen löschen (5)

Frage von Jeduja zum Thema Perl ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...