• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Eine überwältigende Zahl von Einsendungen wartet nun auf Euch, um begutachtet zu werden! Schaut selbst, welche Blüten das Thema hervorgebracht hat und stimmt dann ab, was davon Euch am besten gefällt. Hier geht es lang zur Abstimmung --> Klick

Entpacken mehrerer Dateien mit Passwortabfrage

LarsSW

Boskoop
Registriert
24.03.08
Beiträge
40
Ich habe in den tiefen des Netzes irgendwo ein Applescript aufgetan, das mehrere Dateien nacheinander mit unrar entpacken soll. Vorher wird nach einem Passwort gefragt, das dann für alle Dateien angewendet wird.

Hier das Skript:
Code:
[COLOR=#000000][B]on[/B] [/COLOR][COLOR=#0433FF][B]open[/B][/COLOR][COLOR=#4F8F00]DropList[/COLOR]    [B]set[/B] [COLOR=#4f8f00]ordner[/COLOR] [B]to[/B] "~/Downloads"
[COLOR=#012FBE][B]display dialog[/B][COLOR=#000000] "Passwort" [/COLOR]default answer[COLOR=#000000] ""[/COLOR][/COLOR]
    [B]set[/B] [COLOR=#4f8f00]passwort[/COLOR] [B]to[/B] [COLOR=#5730be]text returned[/COLOR] [B]of[/B] [COLOR=#812fdc]result[/COLOR]
    [B]repeat[/B] [B]with[/B] [COLOR=#4f8f00]objectRef[/COLOR] [B]in[/B] [COLOR=#4f8f00]DropList[/COLOR]
        [COLOR=#012fbe][B]do shell script[/B][/COLOR] "/bin/unrar e -p" & [COLOR=#4f8f00]passwort[/COLOR] & " -ad -o- \"" & [COLOR=#812fdc]POSIX path[/COLOR] [B]of[/B] [COLOR=#4f8f00]objectRef[/COLOR] & "\" " & [COLOR=#4f8f00]ordner[/COLOR]
    [B]end[/B] [B]repeat[/B]
[B]end[/B] [COLOR=#0433FF][B]open[/B][/COLOR]

Problem: Wenn ein Fehler auftritt (z. B. ein Archiv ist kaputt) bricht es ab. Also hab ich in den unrar-Befehl entsprechende Parameter eingebaut: -y, damit alle Nachfragen (soll Datei xyz überschrieben werden?) automatisch bestätigt werden und -inul, damit alle Meldungen von Unrar unterdrückt werden.

Wenn ich jetzt nur ein Archiv mit der Maus draufziehe, klappt alles. Bei mehr als einem Archiv erhalte ich aber die Meldung: "Der Befehl wurde mit einem Ergebnis ungleich Null beendet.".

Woran kann's liegen?
 

Pill

Adams Parmäne
Registriert
07.07.12
Beiträge
1.310
Könnte sein, dass unrar schon das 2. Archiv öffnen möchte, wenn es noch mit dem 1. Archiv beschäftigt ist. AppleScript wartet nicht, bis ein Shellscript abgeschlossen ist.

Davon abgesehen ist das unnötig kompliziert. Wenn du sowieso mit der Shell arbeitest, dann lässt sich das auch einfacher lösen:

Code:
find ~/Downloads/ -name "*.rar" -exec unrar -p passwort -y -ad x {} \;