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

Dateien automatisch suchen und löschen

Frage Entwicklung Batch & Shell

Mitglied: Sir5al

Sir5al (Level 1) - Jetzt verbinden

20.07.2011 um 12:13 Uhr, 3491 Aufrufe, 8 Kommentare

Hallo zusammen,

Folgende Situation:
Durch ein Programm wird immer ein zusammen gehöriges Dateienpaar erzeugt.
Beide Dateien unterscheiden sich nur durch den Dateityp bzw. die Dateiendung.
Zum Beispiel: Dateiname.abc und Dateiname.xyz
Beide Dateien befinden sich auch immer im gleichen Verzeichnis.
Leider ist es so, dass im Laufe der Zeit viele Datei-Leichen entstanden sind.
So gibt es dann nur noch eine der beiden Dateien, nämlich die mit der Endung .xyz.
Nun möchte ich gerne alle diese verwaisten Dateien mit der Endung .xyz löschen.
Aber nur dann, wenn im selbigem Verzeichnis die dazugehörige gleichnamige Datei mit der Endung .abc nicht mehr existiert.
Wenn also die Datei mit der Endung .xyz verwaist ist.
Wie kann ich nun automatisiert alle verwaiste Dateien mit der Endung .xyz unterhalb eines Startverzeichnisses löschen?
Wichtig ist außerdem auch noch: Groß-/Kleinschreibung sollte bei der Suche ignoriert werden!
D.H.: Bei der Datei mit der Endung .xyz ist der Dateiname immer Kleigeschrieben!

Ich hoffe, ich konnte mein Problem klar und deutlich genug beschreiben.

Viele Grüße

Christian
Mitglied: Friemler
20.07.2011 um 12:24 Uhr
Hallo Christian,

sollte so gehen (ungetestet):
01.
@echo off & setlocal 
02.
 
03.
 
04.
set "StartDir=D:\Daten" 
05.
set "Ext1=xyz" 
06.
set "Ext2=abc" 
07.
 
08.
 
09.
for %%f in ("%StartDir%\*.%Ext1%") do ( 
10.
  if not exist "%%~dpnf.%Ext2%" del "%%f" 
11.
)
Gruß
Friemler
Bitte warten ..
Mitglied: Sir5al
20.07.2011 um 12:41 Uhr
Hallo Friemler,

das ging ja fix...
Leider klappts noch nicht so ganz hunderprozentig:
Im Startverzeichnis selbst arbeitet es schon mal richtig, alle Leichen werden gelöscht.
Allerdings werden anscheinend alle Unterverzeichnisse ab dem Startverzeichnis nicht mit einbezogen bzw. korrekt abgearbeitet.

Trotzdem schon mal vielen Dank!

Gruß

Christian
Bitte warten ..
Mitglied: Friemler
20.07.2011 um 12:46 Uhr
Hallo Christian,

klassischer Fall von "Anforderung schlecht formuliert": Du hast kein Wort von Unterverzeichnissen gesagt.

Any way, das erfordert nur eine kleine Änderung:
01.
@echo off & setlocal 
02.
 
03.
 
04.
set "StartDir=D:\Daten" 
05.
set "Ext1=xyz" 
06.
set "Ext2=abc" 
07.
 
08.
 
09.
for /r "%StartDir%" %%f in ("*.%Ext1%") do ( 
10.
  if not exist "%%~dpnf.%Ext2%" del "%%f" 
11.
)
Gruß
Friemler
Bitte warten ..
Mitglied: Skyemugen
20.07.2011 um 12:49 Uhr
Aloha Friemler,

na, na, na, sei mal nicht so hart zum TE, denn der Satz

Wie kann ich nun automatisiert alle verwaiste Dateien mit der Endung .xyz unterhalb eines Startverzeichnisses löschen?

ließ darauf schließen :P (sonst hätte er bestimmt, innerhalb eines Verzeichnisses o.ä. geschrieben ^_^).

greetz André
Bitte warten ..
Mitglied: Friemler
20.07.2011 um 13:02 Uhr
Moin André,

da hat Deinereiner aber schon härteres losgelassen...

Die drei Wörtchen "und allen Unterverzeichnissen" hätten auch nicht geschadet.

Gruß
Friemler
Bitte warten ..
Mitglied: Sir5al
21.07.2011 um 07:33 Uhr
Hallo Friemler,

Super, so klappt's. Perfekt!
Vielen Dank!
Kleine Frage noch:
Kann ich die zu löschenden Dateien mitsamt Pfad vorher noch zu Dokumentationszwecken in einer TXT-Datei protokollieren?

Gruß

Christian
Bitte warten ..
Mitglied: Skyemugen
21.07.2011 um 09:37 Uhr
Aloha,

joa, kannst du

01.
@echo off & setlocal 
02.
 
03.
set "StartDir=D:\Daten" 
04.
set "Ext1=xyz" 
05.
set "Ext2=abc" 
06.
set "Log=D:\Daten\Protokoll.log" 
07.
 
08.
echo Geloschte Dateien am %date% um %time%:>>"%Log%" 
09.
for /r "%StartDir%" %%f in ("*.%Ext1%") do ( 
10.
	if not exist "%%~dpnf.%Ext2%" ( 
11.
		echo %%f>>"%Log%" 
12.
		del "%%f" 
13.
14.
15.
goto :eof
Der Satz vor der Schleife ist optional, versteht sich
Bitte warten ..
Mitglied: Sir5al
21.07.2011 um 12:11 Uhr
Hey,
Was soll ich sagen???
Einfach TOP!
Vielen Dank!

Gruß

Christian
Bitte warten ..
Ähnliche Inhalte
Windows 7
0 KB dateien automatisch löschen (5)

Frage von amgm2006 zum Thema Windows 7 ...

Batch & Shell
14 Tage alte Dateien automatisch löschen - Shell (1)

Frage von traller zum Thema Batch & Shell ...

Microsoft Office
gelöst Excel VBA - Inhalte und Dateiname von txt-Dateien automatisch in Excel importieren (2)

Frage von Booster07 zum Thema Microsoft Office ...

Neue Wissensbeiträge
RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Komplett neues Netzwerk, Ubiquiti WLAN, Router, Switch (16)

Frage von Freak-On-Silicon zum Thema LAN, WAN, Wireless ...

CMS
Lokales Wordpress im LAN - wie aufsetzen? (16)

Frage von Static zum Thema CMS ...

LAN, WAN, Wireless
IP im privaten Netz nicht erreichbar (14)

Frage von guntis zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
Devolo DLAN 500 pro Wireless+ (13)

Frage von IceAge zum Thema LAN, WAN, Wireless ...