Archiv verlassen und diese Seite im Standarddesign anzeigen : Ein Script zum entpacken von RAR , ZIP Dateien
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ß
marcelcedric
05.02.2005, 19:01
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?
for zipfile in *.zip;do unzip "$zipfile"; done
für rar entsprechend:
for rarfile in *.rar;do unrar x "$rarfile"; done
dann gibts noch die Möglichkeit einer Funktion:
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
Powered by vBulletin® Version 4.2.0 Copyright ©2013 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.