← Zurück zur Zentrale

ZIP-Archive entpacken mit Termux

von Alien Investor

Du lädst eine ZIP-Datei auf Android herunter. Der Dateimanager bietet dir an, sie zu öffnen. Die entpackten Dateien landen mitten im Downloads-Ordner, durcheinander mit allem anderen.

Dieses Skript geht einen anderen Weg: Es findet alle ZIPs im Downloads-Ordner, legt für jedes Archiv einen eigenen Unterordner an und entpackt hinein. Ein Befehl, alle Archive, ordentlich getrennt.

1. Was das Skript macht

Die Original-ZIP-Dateien bleiben erhalten. Das Skript löscht nichts.

2. Vorbereitung: unzip und Termux-Speicher

Falls noch nicht eingerichtet, zuerst den Zugriff auf den Gerätespeicher aktivieren:

termux-setup-storage

Bestätige den Dialog ("Zulassen"). Dann unzip installieren:

pkg update && pkg upgrade
pkg install unzip

Skript-Ordner anlegen:

mkdir -p ~/Skripte

3. Das Skript: unzip_downloads.sh

Datei erstellen:

nano ~/Skripte/unzip_downloads.sh

Inhalt einfügen:

#!/data/data/com.termux/files/usr/bin/bash

set -o pipefail

DOWNLOAD_DIR="$HOME/storage/downloads"

# Checks
if [ ! -d "$DOWNLOAD_DIR" ]; then
    echo "Fehler: Downloads-Ordner nicht gefunden. Hast du 'termux-setup-storage' ausgefuehrt?"
    exit 1
fi

command -v unzip >/dev/null || { echo "Fehler: unzip fehlt. Installieren mit: pkg install unzip"; exit 1; }

cd "$DOWNLOAD_DIR" || exit 1

echo "--- Suche nach ZIP-Archiven in $DOWNLOAD_DIR ---"

# Nullglob: verhindert literal '*.zip' wenn keine Dateien da
shopt -s nullglob
zips=(*.zip)

if [ ${#zips[@]} -eq 0 ]; then
    echo "Keine ZIP-Dateien gefunden."
    exit 0
fi

echo "Gefunden: ${#zips[@]} ZIP-Datei(en)."
echo "Starte Entpacken..."

for zipfile in "${zips[@]}"; do
    echo "Verarbeite: $zipfile"
    foldername="${zipfile%.zip}"
    mkdir -p "$foldername"

    # Quelle: $zipfile (Archiv), Ziel: $foldername (Ordner)
    if unzip -q "$zipfile" -d "$foldername"; then
        echo "  -> Erfolgreich entpackt in: $foldername/"
    else
        echo "  -> FEHLER beim Entpacken von $zipfile"
    fi
done

echo "--- Fertig ---"

(Speichern in nano: STRG+O, Enter, dann STRG+X)

Skript ausführbar machen:

chmod +x ~/Skripte/unzip_downloads.sh

4. Das Skript ausführen

~/Skripte/unzip_downloads.sh

Das Skript durchsucht den Downloads-Ordner und entpackt jede ZIP-Datei in einen eigenen Unterordner. Beispiel: dokumente.zip wird nach dokumente/ entpackt.

Enthält der Downloads-Ordner keine ZIP-Dateien, meldet das Skript das und beendet sich sauber.

5. Abgrenzung: ZIP vs. verschlüsselte Archive

Dieses Skript ist für normale ZIP-Dateien. Die Verschlüsselungs-Skripte aus dieser Serie arbeiten mit einem anderen Format:

Für .tar.gz.gpg-Archive: decrypt-folder.sh verwenden. Für .zip-Dateien: dieses Skript.

Ein Befehl. Alle Archive. Kein Chaos im Downloads-Ordner.

Weiterführendes in dieser Serie

Ordner verschlüsseln und entschlüsseln direkt auf dem Smartphone:
Der mobile Bunker: Verschlüsselung auf GrapheneOS (Termux Edition)

EXIF-Metadaten aus Fotos entfernen, bevor sie das Gerät verlassen:
EXIF-Daten aus Fotos entfernen mit Termux

Tools für echte Eigentümer (Werbung/Affiliate)

Tools, die ich selbst nutze, für Bitcoin-Selbstverwahrung und digitale Souveränität:

Hinweis: Bei einigen Links handelt es sich um Affiliate-Links. Wenn du sie nutzt, unterstützt du meine Arbeit, ohne dass es dich mehr kostet.


Energie aufladen (Spenden)

Treibstoff für das Mutterschiff senden

Danke für deine Unterstützung.