Ein Script zum entpacken von RAR , ZIP Dateien

Atomara

Atomara

Debrandeter User
Hi@all

ich habe ziemliche viele ZIP und RAR Ordner auf der Platte liegen und möchte diese nun entpacken ,allerdings sind es ziemlich viele und es wäre zu schwer sie alle einzeln zu entpacken.

Dann gibts noch das Problem dass ZIP-Ordner lokal entpackt werden aber der Inhalt in einem eigenen Verzeichnes sein soll.

Zu dem kommt es vor dass einige Dateien nicht entpackt werden können ,es wäre sehr hilfreich wenn ich später nachlesen könnte welche Dateien das sind.
 
warum strengst du dich nicht selber an ??

eine möglichkeit wäre find . *.zip -exec unzip {} \;

du kannst natürlich dein skript so aufbauen, dass es vorher parameter erwartet bla bla bla etc.....

gruß
 
Atomara schrieb:
Hi@all

ich habe ziemliche viele ZIP und RAR Ordner auf der Platte liegen und möchte diese nun entpacken ,allerdings sind es ziemlich viele und es wäre zu schwer sie alle einzeln zu entpacken.

Dann gibts noch das Problem dass ZIP-Ordner lokal entpackt werden aber der Inhalt in einem eigenen Verzeichnes sein soll.

Zu dem kommt es vor dass einige Dateien nicht entpackt werden können ,es wäre sehr hilfreich wenn ich später nachlesen könnte welche Dateien das sind.

reicht nicht einfach eine for funktion?

for dateien in $(ls *.zip); do unzip $dateien; done

mfg
 
die funktion werde ich gegebenfalls mal ausprobieren und mir einer ordnererstellung erweitern
 
hm.. wozu ne subshell öffnen und ls bemühen?
Code:
for zipfile in *.zip;do unzip "$zipfile"; done
für rar entsprechend:
Code:
for rarfile in *.rar;do unrar x "$rarfile"; done
dann gibts noch die Möglichkeit einer Funktion:
Code:
unpack() {
    for file in $@
    do
        if [ "${file%.[zZ][iI][pP]}" != "${file}" ]
        then
            unzip "$file"
        elif [ "${file%.[rR][aA][rR]}" != "${file}" ]
        then
            unrar x "$file"
        else
            echo "Couldn't determine file type..."
        fi
    done
}
# Aufruf: unpack *
lässt sich natürlich beliebig erweitern.

diese Methoden erfüllen natürlich nicht der Anforderung
aber der Inhalt in einem eigenen Verzeichnes sein soll.

dazu müsste vor jedem entpacken ein Verzeichnis erstellt werden und dort hinein entpackt, bei zip z.B. über den Schalter -d (z.B. unzip -d "${file}_unpacked" "$file"), bei unrar muss lediglich als letztes das Verzeichnis angegeben werden (z.B. unrar x "$file" "${file}_unpacked")

auf bald
oenone
 

Ähnliche Themen

Shell Skript zum automatischen Aufräumen von doppelten Ordnern

CSV Datei mit sed manipulieren/optimieren/ergänzen

dev/zeo in ZIP umleiten. wie geht das??

Heimserver Konfiguration für Ubuntu Server?!

tree mit Verzeichnissen, OHNE Inhalt, aber mit sonstigen Dateien

Zurück
Oben