• home
  • AppleScriptでPerlのcommandを実行する

AppleScriptでPerlのcommandを実行する

この記事はWanoグループ Advent Calendar 2016の6日目の記事です

AppleScriptとは?

AppleScript は、OS X に組み込まれている、多目的なスクリプト言語です。AppleScript を使ってショートカットを作成したり、繰り返しのタスクを自動化したりできます。さらに、そのアイコン上にファイルまたはフォルダをドラッグ&ドロップしたときに実行出来ます。今回紹介する例は、デスクトップからドラッグ操作でファイルを移動して、AppleScriptでPerlのcommandを実行するものです。

まず、スクリプトエディタを選択して起動します。

scripteditor

スクリプトエディタ

 

ドラッグ操作なので、そのスクリプトの実行を開始するには、「on open」ハンドラを必要とします。「on open」ハンドラには、ドロップレットにドラッグしたファイルのオブジェクトのリストが入ります、以下の例を示します。

on open (theItemsDropped)
  (first command)
  (second command)
   …
end open

 

実際のコード:

[shell]

on open these
  # 複数ファイル対応
  repeat with this in these
    set filename to POSIX path of this
    # tellコマンドを使ってFinderにiTermを開くように命令します
    tell <i>application</i> "iTerm"
      # activateは指定されたウインドウを開き、手前に移動します
      activate
      #iterm中でdefault profileの設定をして、新しいiTermのwindowを開きます
      set new_term to (create window with default profile)
      tell new_term
        tell the current session
        #FileToAction.plにiTermでファイル実行する
        write text "perl /Users/johnny/src/test/FileToAction.pl" & filename
        end tell
      end tell
    end tell
  end repeat
end open

[/shell]

ファイルを扱うには、スクリプトのままではなく、.appファイルで保存します。

そうすると、エンジニア以外の人でも、簡単にファイルをドラッグして、Perlのcommandを実行する操作できます。