Dateien automatisch suchen und löschen
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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 170081
Url: https://administrator.de/forum/dateien-automatisch-suchen-und-loeschen-170081.html
Ausgedruckt am: 21.04.2025 um 10:04 Uhr
8 Kommentare
Neuester Kommentar
Hallo Christian,
klassischer Fall von "Anforderung schlecht formuliert": Du hast kein Wort von Unterverzeichnissen gesagt.
Any way, das erfordert nur eine kleine Änderung:
Gruß
Friemler
klassischer Fall von "Anforderung schlecht formuliert": Du hast kein Wort von Unterverzeichnissen gesagt.
Any way, das erfordert nur eine kleine Änderung:
@echo off & setlocal
set "StartDir=D:\Daten"
set "Ext1=xyz"
set "Ext2=abc"
for /r "%StartDir%" %%f in ("*.%Ext1%") do (
if not exist "%%~dpnf.%Ext2%" del "%%f"
)
Gruß
Friemler
Aloha Friemler,
na, na, na, sei mal nicht so hart zum TE, denn der Satz
ließ darauf schließen :P (sonst hätte er bestimmt, innerhalb eines Verzeichnisses o.ä. geschrieben ^_^).
greetz André
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é
Aloha,
joa, kannst du
Der Satz vor der Schleife ist optional, versteht sich
joa, kannst du
@echo off & setlocal
set "StartDir=D:\Daten"
set "Ext1=xyz"
set "Ext2=abc"
set "Log=D:\Daten\Protokoll.log"
echo Geloschte Dateien am %date% um %time%:>>"%Log%"
for /r "%StartDir%" %%f in ("*.%Ext1%") do (
if not exist "%%~dpnf.%Ext2%" (
echo %%f>>"%Log%"
del "%%f"
)
)
goto :eof
Der Satz vor der Schleife ist optional, versteht sich