Problemi nella creazione del programma di installazione di OS X con AppleScript

2

Sto provando a creare un programma di installazione OS avviabile (inclusi Mavericks, Yosemite ed El Capitan) su un disco esterno con AppleScript. Ma ora ho qualche problema. Ecco il codice:

display dialog "Which version of OS X Installation would you like to create?" with icon caution buttons {"OS X Mavericks", "OS X Yosemite", "OS X El Capitan"}
if the button returned of the result is " OS X El Capitan" then
    tell application "Terminal"
        activate
        do shell script "sudo /Applications/Install\ OS\ X\ El\ Capitan.app/Contents/Resources/createinstallmedia --volume /Volumes/Untitled --applicationpath /Applications/Install\ OS\ X\ El\ Capitan.app --nointeraction"
    end tell
end if

La mia direzione di lavoro è:

  1. Scegli la versione che desideri creare.

  2. Attiva il terminale e chiedi al terminale di eseguire il codice (funziona bene all'interno del terminale):

    sudo /Applications/Install\ OS\ X\ El\ Capitan.app/Contents/Resources/createinstallmedia --volume /Volumes/Untitled --applicationpath /Applications/Install\ OS\ X\ El\ Capitan.app --nointeraction
    

C'è un errore (immagine sotto) quando provo a eseguire lo script. Sembra che ci sia qualcosa di sbagliato nel percorso e AppleScript non può riconoscere un percorso con spazio come questo: Install\ OS\ X\ EL\ Capitan.app .

Ho provato il seguente script (questo funziona bene)

set pathwithSpaces to "/Users/John/Desktop/This is a test.docx"
do shell script "rm -r " & quoted form of pathwithSpaces

Ma il mio aggiornamento non funziona ancora.

Potresti darmi qualche suggerimento? O sono nella direzione sbagliata?

    
posta Vincent Sun 10.03.2016 - 05:57
fonte

1 risposta

3

Solo un suggerimento su come iniziare, ma a lungo per aggiungerlo come commento:

Inizia con questo:

set the_results to (display dialog "Which version of OS X Installation would you like to create?" with icon caution buttons {"OS X Mavericks", "OS X Yosemite", "OS X El Capitan"})
set button_returned to button returned of the_results
if button_returned is "OS X El Capitan" then tell application "Terminal"
    activate
    set currentTab to do script ("sudo /Applications/Install\ OS\ X\ El\ Capitan.app/Contents/Resources/createinstallmedia --volume /Volumes/Untitled --applicationpath /Applications/Install\ OS\ X\ El\ Capitan.app --nointeraction;")
end tell
if button_returned is "OS X Yosemite" then tell application "Terminal"
    activate
    ...

Devi ancora gestire la sudo password.

    
risposta data 10.03.2016 - 07:56
fonte

Leggi altre domande sui tag