Проблеми створення OS X з AppleScript


2

Я намагаюся створити завантажувальний OS X Installer (включаючи Mavericks, Yosemite і El Capitan) на зовнішньому диску з AppleScript. Але зараз у мене є деякі неприємності. Ось код:

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

Мій робочий напрямок:

  1. Виберіть, яку версію ви хочете створити.

  2. Активуйте термінал і попросіть термінал виконати код (він добре працює в межах терміналу):

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

Під час спроби запуску сценарію сталася помилка (малюнок нижче). Схоже, щось трапилося з контуром, і, здається, AppleScript не може розпізнати шлях з таким простором: Install\ OS\ X\ EL\ Capitan.app.

Я спробував наступний сценарій (це добре)

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

Але мій оновлений ще не працює.

Не могли б ви дати мені кілька натяків? Або я в неправильному напрямку?

enter image description here


Ви повинні позбутися кожної зворотної косої риски у зворотному слесі у шляху (тобто. do shell script "sudo /Applications/Install\\ OS\\ X\\ ....
klanomath

Відповіді:


3

Просто підкажіть, як почати, але довго додавати його як коментар:

Почніть з цього:

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
    ...

Ви все одно повинні обробляти sudo пароль.


1
Дякую, Klanomath. Вона працює зараз. Дійсно оцініть вашу допомогу.
Vincent Sun
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.