• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Was gibt es Schöneres als den Mai draußen in der Natur mit allen Sinnen zu genießen? Lasst uns teilhaben an Euren Erlebnissen und macht mit beim Thema des Monats Da blüht uns was! ---> Klick

Automator unrar Script

Windwusel

Erdapfel
Registriert
23.12.14
Beiträge
3
Ich habe nach langer Suche endlich ein funktionierendes Script zum entpacken von RAR-Dateien gefunden und dieses soweit meinen Bedürfnissen angepasst. Leider fehlt noch etwas darin. Es soll sofern ein Passwort vorhanden ist, danach in einem Fenster mit Eingabemaske gefragt werden. Was fehlt dazu?

Gruß

Code:
on run {input, parameters}

    set nbFiles to count input
  
    if nbFiles = 0 then
        display dialog "Aucun fichier sélectionné!" buttons {"OK"} default button 1
        return
    end if
  
    if nbFiles > 1 then
        display dialog "Ce script ne peut pas décompresser plusieurs fichiers à la fois" buttons {"OK"} default button 1
        return
    end if
  
    tell application "Finder"
      
        set archiveDir to (container of (item 1 of input) as string)
      
      
        set archiveName to (name of (item 1 of input) as string)
        set fileAlias to the selection as alias
        set fileName to name of fileAlias
        set fileExtension to name extension of fileAlias
      
        if fileExtension = "rar" then
          
        else
            display dialog "Ce fichier ne semble pas être un fichier RAR !" buttons {"OK"} default button 1
            return
        end if
      
      
        set myword to POSIX path of archiveDir&fileName
        set myword to quoted form of myword
      
        set archiveDir to quoted form of POSIX path of archiveDir
        set archiveName to quoted form of (archiveName)

      
      
    end tell
  
    do shell script "cd " & archiveDir & ";/bin/unrar x -y " & myword


  
    return input
end run

Die letzte Zeile müsste wie folgt aussehen damit ein Passwort akzeptiert wird. Allerdings hat nun mal nicht jedes Archiv das selbe Passwort.
Code:
do shell script "cd " & archiveDir & ";/bin/unrar x -y -pPASSWORT" & myword
 

Pill

Adams Parmäne
Registriert
07.07.12
Beiträge
1.310
Hallo,

ersetze mal die letzte Zeile durch folgendes:

Code:
try
    do shell script "cd " & archiveDir & ";/bin/unrar x -y " & myword
on error err
    if err contains "Enter password" then
        set thePassword to text returned of (display dialog "Geben Sie das Passwort ein: " default answer "" with hidden answer)
        do shell script "cd " & archiveDir & ";/bin/unrar x -y -p" & thePassword & space & myword
       
    else
        display alert "Error:" as critical message err
    end if
end try

Eventuell gibt es aber auch einfachere Lösungen.
 

Windwusel

Erdapfel
Registriert
23.12.14
Beiträge
3
Danke @Pill , werde ich gleich ausprobieren. @KoboldDresden Ich danke dir für deinen äußerst hilfreichen Beitrag ... Würde ich eine Drittanbieter Software nehmen wollen, hätte ich nicht im Apple Script Forum nach einer Lösung, meines Problems mit einem Script gefragt. Ich möchte mich nicht auf solche Programme verlassen und möglichst viel mit Bordmitteln arbeiten. Möchte ich es einfach und unprofessionell haben, nutze ich Windows ;)


Update: Ich kann plötzlich gar nicht mehr entdecken, da immer der Fehler ausgegeben wird das es kein RAR sei. Selbst das vorherige Backup funktioniert nicht mehr. Verstehe ich nicht ..
 
Zuletzt bearbeitet:

KoboldDresden

Weigelts Zinszahler (Rotfranch)
Registriert
11.06.11
Beiträge
251
@Windwusel: Und das unrar-Binary, welches du verwendest, ist wohl kein Drittanbietertool? Zumindest wäre es mir neu, das OS X von Haus aus das unrar-Binary mitbringt.
 

Windwusel

Erdapfel
Registriert
23.12.14
Beiträge
3
@KoboldDresden: Es handelt sich um das original WinRAR von RARlab. Da dieses aber kein UI hat, muss ich diese selbst anfertigen.

@Pill: Da du dich offenbar gut mit der Materie auskennst. Hast du womöglich eine Lösung für die neue Problematik? Es wird nach wie vor der Fehler ausgegeben, dass es sich nicht um ein RAR-Archiv handelt. Zuvor ging es noch und nun ist ein entpacken nicht mehr möglich. Auch mit der Ursprungsversion des Scripts nicht. Wieso plötzlich, kann ich nicht erklären. Vielleicht kannst du ja aus meinem Puzzle ein neues besseres Script anfertigen. Der Fehler passiert auf jeden Fall nur beim entpacken und nicht schon beim verpacken.
 

Pill

Adams Parmäne
Registriert
07.07.12
Beiträge
1.310
Wie lautet denn die genaue Fehlermeldung? Ich kann bei mir den Fehler nicht nachvollziehen.