Mac OS 10.3.9でAppleScript その2「力技」。
その1で書いていた「ドロップしたフォルダの中のアイテムを数えてファイルに書き出す」AppleScriptがようやく出来た。
ファイルの読み書きやアイテムを数えるのは簡単だったけど、ドロップしたフォルダの名前を取得するのが一苦労。
シンプルにAppleScript's text item delimitersでコロンで区切ってリスト化しようと書いたのが下記。
set texdata to choose folder with prompt "保存先を指定してください"
set texdata to texdata as string
set OriginalDelimiters to AppleScript's text item delimiters
set AppleScript's text item delimiters to {":"}
set texdata to text items of texdata
set c to count texdata
set fname to item (c - 1) of texdata
set AppleScript's text item delimiters to OriginalDelimiters
これをドロップレットで、と試したんだけどうまく動かない…。
試しているうちに面倒になってRubyに処理をお任せすることに。
<AppleScriptでの記述>
set fname to do shell script "ruby /Users/*****/Documents/ruby/フォルダ名取得用.rb" & space & thispath
<Ruby>
# AppleScriptから渡されたフルパスをinsuu1に格納
insuu1 = ARGV[0] ; #--第一引数
# :で分割してリスト化
bunkatsu = insuu1.split(/:/)
# bunkatsuの最後の項目をAppleScriptに渡す
print(bunkatsu[-1])
う~ん、悩まずに実質3行で書き終わってしまった…。
まぁこれで「デスクトップにドロップしたフォルダと同名のフォルダを作る」スクリプトも書けそうだし、強引だけどいいことにしよう。
だからタイトル「力技」。