Top / AppleScript

MacPerl (MacJPerl) Scripts

MacPerlとは書いていますが、基本的にMacJPerlでしか試していません。MacPerlのスクリプト (一般にドロップレット形式で保存すればいい) をダブルクリックすればPerlスクリプトは実行されるので、Perlだけで十分な場合はAppleScriptを利用しなくてもいいですね。

●コマンドを実行

デスクトップに新規フォルダを作ります (わざわざMacPerlを使わなくてもFinderのAppleScriptでもできることですが)。見た目では違いが分かりませんが、実はデスクトップフォルダは各ディスク (mounted volume) ごとに別々に存在しています (Finderのファイルメニューから「情報を見る」で場所を確認するとわかります)。ふつうに新規フォルダを作る場合 (Finderのファイルメニューから「新規フォルダ」)、起動ディスクのデスクトップフォルダに作られるところを、以下のスクリプトではどのディスクにするか選ぶようにしてみました。AppleScriptに埋め込むために"を\"と書いていますが、Perlは"を使わない書き方もできるので、そうした方が見やすいかもしれません。
set Perl_script to "#!perl -w
use strict;
my $storage;
my @mounted_volumes; #「Macintosh HD:」などのディスク (パーティション) の名前 (正確には「名前:」のパス) のリスト
foreach (MacPerl::Volumes()) { push(@mounted_volumes, MacPerl::MakePath($_)) } # MacPerl入門のpp.200-を見るといい
# foreach (MacPerl::Volumes()) { s/:?([^:]+)$/push(@mounted_volumes, $1 . ':')/e } # これでもいいと思う
$storage = MacPerl::Pick(\"ディスクを選んでください\", @mounted_volumes);
unless ($storage) { exit } # キャンセルだったら
chdir($storage . \"Desktop Folder\") or warn;
mkdir(\":フォルダ名\", 0755);"
tell application "MacJPerl"
    Do Script Perl_script
end tell

Top / AppleScript