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, 1618 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 ..
Ähnliche Inhalte
Batch & Shell
gelöst Source löschen wenn Datei im Zielordner vorhanden (1)

Frage von functionstrut zum Thema Batch & Shell ...

Windows Server
Datei nach dem löschen weiterhin vorhanden (5)

Frage von derBadner zum Thema Windows Server ...

Batch & Shell
Vergleich einer Zeichenfolge in zwei Dateinamen (3)

Frage von hongziehong zum Thema Batch & Shell ...

Neue Wissensbeiträge
Entwicklung

Exploit Development

Anleitung von burhanudinn123 zum Thema Entwicklung ...

Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(1)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
Netzwerkprotokolle
Leiten "dumme" Switches VLAN-Tags mit durch? (17)

Frage von coltseavers zum Thema Netzwerkprotokolle ...

E-Business
Wo tragt ihr eure privaten Termine ein? (13)

Frage von honeybee zum Thema E-Business ...

Batch & Shell
Batch zum suchen und verschieben von Verknüpfungen (12)

Frage von zeroblue2005 zum Thema Batch & Shell ...

Windows Server
Terminalserver starten willkürlich neu (12)

Frage von thaefliger zum Thema Windows Server ...