[Batch, Shell] Bestimmte Dateitypen in Unterordnern löschen

Es war lange ruhig hier im Blog, aber nun habe ich wieder was neues für euch.

Für das Löschen von Dateien eines bestimmten Datentypes habe ich für euch zwei Skripte, eins für Windows und eins für Linux/Unix/OSX.
Nach dem Aufruf dieser Datei wird nach einem zu löschen Dateityp gefragt. Hier könnt ihr z.B. „url“ (natürlich ohne Anführungszeichen) eingeben.
Anschließend durchläuft das Skript den Ordner, in dem es liegt und alle weiteren Unterordner und löscht alle Dateien mit dieser Dateiendung.
Hier ist eine Schleife einprogrammiert, die erst beendet wird, wenn ihr den Dateityp „end“ eingebt.

ACHTUNG: Es gibt keine Löschbestätigung!

Für Windows:

Ihr erstellt euch eine Datei mit dem Datentyp „cmd“ und öffnet diese im Texteditor eures Vertrauen (ich bin Fan von Notepad++).
Folgender Inhalt:

@ECHO off
ECHO ======= start =======
START
	set /p Filetype="Filetype to delete: "
	if "%Filetype%" == "end" goto END
	goto DO_DELETE

REM ---- deleting ----
:DO_DELETE
	del /s *.%Filetype%
	goto START
:END

ECHO ======= finished =======
pause

Für Linux/Unix/OSX:

Am besten erstellt ihr euch hier eine Datei mit dem VI mit der Dateiendung „sh“.
Folgender Inhalt:

#!/bin/bash
echo "======= start ======="

while [ "$Filetype" != "end" ]
do
	echo "Filetype to delete: "
	read Filetype

	if [ "$Filetype" != "end" ]
	then
		# ---- deleting ----
		find . -name "*.$Filetype" -exec rm -vf {} \;
	fi
done

echo "======= finished ======="

Vergesst hier nicht, die Datei noch mit z.B. chmod 755 ausführbar zu machen!

Veröffentlicht in Batch, Shell. Schlagwörter: , , , , , , , , . 3 Comments »