2014-12-28 3 views
0

Я создаю AppleScript, который открывает терминал, я перетащив файл на скрипт (используя automater) и хочу каталог/имя файла, который будет подаваться в мое приложение терминалаКак получить имя файла для активированного приложения в applescript?

on run {input, parameters} 
    tell application "Terminal" 
     activate 
     do script with command "qpdf --qdf arg1 output.pdf" 
    end tell 
end run 
+0

Единственная часть, о которой я не совсем понимаю ваш вопрос: «Я перетаскиваю файл на скрипт (используя automater [sic])». Вы хотите, чтобы вы делали приложение-скрипт, принимающее упавшие элементы, или вы просто заинтересованы в передаче аргументов 'on run'? – CRGreen

+0

да, в конечном итоге я просто пытаюсь создать командный файл, который обрабатывает аргументы ... Я не понимаю, как это сделать, я использую automater для создания сценария Apple, щелкнув экспорт, чтобы он делал небольшую программу, затем Я перетаскиваю файл в «программу» – morty346

ответ

1

Вам не нужно использовать Automator. Сохраните этот сценарий как приложение, а не ...

on open of droppedItems 
    tell application "Terminal" 
     if not (exists window 1) then reopen 
     activate 
    end tell 

    repeat with anItem in droppedItems 
     set itemPath to POSIX path of anItem 
     tell application "Terminal" 
      do script "qpdf --qdf " & quoted form of itemPath & " output.pdf" in window 1 
      -- do script "echo " & quoted form of itemPath in window 1 
     end tell 
    end repeat 
end open 
+0

смущен, как я помещаю свой «arg1» на место .... так оно и превращается в это? на открытом в droppedItems повторного с anItem в droppedItems набор itemPath для POSIX пути anItem СКАЖИТЕ приложения «Терминал» активировать сделать скрипт с командой «эхо qpdf --qdf output.pdf» и цитируемый форму itemPath конца расскажите end repeat end open – morty346

+1

Я просто использовал эхо в качестве примера команды терминала с контуром в ней. цитированная форма itemPath может использоваться для правильного прохождения пути в команду. – adayzdone

Смежные вопросы