У меня есть апплет, который я сделал, используя Applescript, который открывает приложение, а затем, после его загрузки, запускает скрипт оболочки, который выгружает Spotlight. Мне нужно сделать это, затем подождать, пока я закончу использовать соответствующее приложение, прежде чем запускать другой сценарий оболочки для повторной загрузки Spotlight.

Мой код в настоящее время выглядит так:

set appname to “Applications/Cubase 5.app”
    tell application appname to launch
        repeat until application appname is running    
        delay 1
        end repeat
if application appname is running then
    do shell script "sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist" password "YOUR_PASSWORD" with administrator privileges
    end if
activate appname

Я перепробовал все, но не могу понять это. Я нашел и изменил этот скрипт с моими ограниченными знаниями, но не понимаю, как он работает

Какой код мне нужно добавить, чтобы он дождался, пока я выйду из приложения, чтобы запустить второй сценарий оболочки, который мне известен:

do shell script "sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist" password "YOUR_PASSWORD" with administrator privileges

что бы перезагрузить Spotlight?

Я пришел с следующим, который компилируется, но не делает, как ожидалось:

set appname to “Applications/Cubase 5.app”
    tell application appname to launch
        repeat until application appname is running    
        delay 1
        end repeat
if application appname is running then
    do shell script "sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist" password "YOUR_PASSWORD" with administrator privileges
    end if
activate appname
    repeat until application appname is not running
    delay 1
    end repeat
if application is not running then
    do shell script "sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist" password "YOUR_PASSWORD" with administrator privileges
end if

Выдает ошибку. Не удается запустить приложение. Я вижу, что чего-то не хватает, просто не знаю, что.

Я новичок как в Apple, так и в Applescript, и ответ будет высоко оценен.

1 ответ1

1

Вы хотите проверить, что не работает

set appname to “Applications/Cubase 5.app”
    tell application appname to launch
        repeat until application appname is not running    
            delay 1
        end repeat
if application appname is running then
    do shell script "sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist" password "YOUR_PASSWORD" with administrator privileges
end if
activate appname

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .