cbli
Goto Top

Zip Dateien mit bestimmten Inhalten löschen per Batch

[Edit] Geschlossen:
Wir hier: "Automatisches Verschieben von Dateiinhalten nach Abfrage"
https://www.administrator.de/index.php?content=506e70888a85c8f91d7fc9333 ... weitergeführt
[/Edit Biber]

Dank der Hilfe hier ,habe ich mein Problem beinahe gelöst und brauche sozusagen nur noch einen kleinen Schubser um die letzte Kleinigkeit auch noch hinzubekommen.

Ich möchte bestimmte Zip Dateien die Dateien mit bestimmten Dateiendungen beinhalten automatisch löschen lassen.
Andere Zip Dateien in diesem Verzeichnis sollen nicht davon betroffen sein.

Ich habe es mit 2 Lösungsansätzen probiert und keine hat zufriedenstellend funktioniert:

Lösung 1:

for %%z in ("d:\temp\*.zip") do @(
For %%i in (xls doc wav db) do del "%%z" *."%%i)

Es werden jedoch alle Zip Dateien gelöscht, egal welchen Inhaltes.
Wo ist der Fehler ?

Lösung 2:

for /f %%i in ('findstr /g:c:\temp\liste.ini /i /m d:\temp\*.zip') do del %%i >nul

Dies funktioniert in soweit, daß er alle gewünschten Zip Dateien löscht bis auf solche die ein Leerzeichen im Dateinamen haben.
Wie lässt sich das lösen ?
2tes Problem:
In in der Datei Liste.ini angebenen Zeichenfolgen beinhalten nur zb xls ,d.h es werden auch Dateien gelöscht die xls im Namen haben und nicht als Dateiendung.
Wie kann ich erreichen,daß nur Dateiendungen *.xls in der Liste.ini akzeptiert werden und auch nur die gelöscht werden.

Schon mal vielen Dank für die bereits geleistete Hilfe die mir schon jetzt meinen Alltag sehr erleichert hat.

Ach ja, noch ne kleine Frage:
Wie kann ich in einem Verzeichnis Dateien mit bestimmten Dateiendungen löschen lassen mit Ausnahme einiger bestimmter Dateien mit der gleichen Endung ?

mfg
Claus

Content-Key: 44020

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

Printed on: May 4, 2024 at 03:05 o'clock

Member: bastla
bastla Nov 08, 2006 at 18:29:35 (UTC)
Goto Top
Hallo Claus!

for /f %%i in ('findstr /g:c:\temp\liste.ini /i /m d:\temp\*.zip') do del "%%i" >nul
In den meisten Fällen ist es sinnvoll, Datei- bzw Pfadnamen (auf Verdacht) unter Anführungszeichen zu setzen; das könnte auch hier helfen.

2tes Problem:
In in der Datei Liste.ini angebenen Zeichenfolgen beinhalten nur zb xls ,d.h es werden auch Dateien gelöscht die xls im Namen haben und nicht als Dateiendung.
Wie kann ich erreichen,daß nur Dateiendungen *.xls in der Liste.ini akzeptiert werden und auch nur die gelöscht werden.
Da ich derzeinicht zum Testen komme, nur eine Mutmaßung: Hast Du schon versucht, .xls (in Worten: Punkt face-wink xls) in die "liste.ini" zu schreiben?


Ach ja, noch ne kleine Frage:
Wie kann ich in einem Verzeichnis Dateien mit bestimmten Dateiendungen löschen lassen mit Ausnahme einiger bestimmter Dateien mit der gleichen Endung ?

Die nicht zu löschenden Dateien müssen natürlich eine Gemeinsamkeit haben, die sie von allen anderen Dateien unterscheidet. Diese kannst Du dazu verwenden, sie vorübergehend mit einem Schreibschutz zu versehen, alle (anderen) zu löschen und danach den Schreibschutz wieder zu entfernen:
attrib 2006-*.xls +r
del *.* /q 1>nul 2>nul
attrib 2006-*.xls -r

Die Umleitungen zum nul-Device entsorgen die entbehrlichen (Fehler-)Meldungen.

HTH
bastla