今、読んでいるAppleScriptの書籍
も中盤を過ぎました。
「第6章 スクリプティングStep by Step」、「第7章これは便利、Finderスクリプティング」で取り扱うAppleScriptはAppleScriptだけでなく、Macintoshのファイル管理情報の知識も必要になります。
書籍から引用すると、「クリエータとは、ファイルがどのアプリケーションで作られたのかを示す情報、タイプとは、ファイルがどんな形式なのかを示す情報です。」と書いてあります。(参考資料は「QuickFileType」、「知られざるSnow Leopard (タイプとクリエータ編)」などが見つかりました)。なお、クリエータ は英字で始まる半角英数字4文字です。また、クリエータの値でファイルに表示されるアイコンが変わります。
クリエータタイプはAppleScriptの用語集にも書かれています(「Finder用語説明」-「ファイル」)。
今回記事にしたのは第6章ですが、第6章では「(ファイルの)クリエータ変更スクリプト」を題材として取り扱います。
概要としてはまず最初は「クリエータを変えるファイルを決まったフォルダの中に入れておき、そのフォルダにあるファイルを処理する」を繰り返し文を使って書きます。スクリプトとしては
「aFileを(フォルダ"書類"のフォルダ"AppleScript"のフォルダ"画面"のウィンドウのすべての項目)のおのおのにして」
「以上」
となります。
なお、ファイルに設定されているクリエータタイプを表示するには、
「デスクトップのファイル"A"のクリエータタイプ」
と書いて実行すれば、「結果」ウィンドウに実行結果が表示されます(用語説明参照)。
(デスクトップに置いたファイル(SimpleTextで作った文書ファイル)"A"のクリエータタイプ("ttxt")表示の例)
繰り返し文を使った最初のスクリプトを任意のフォルダを扱える様に修正します。
(「スクリプティング機能追加」-「フォルダを選ぶ」の用語説明)
を参考に
「aFileを((フォルダを選ぶ)のウィンドウのすべての項目)のおのおのにして」
と修正します。
(実行結果の「フォルダ選択」の図)
更に任意のクリエータタイプに変更出来る様に修正します。
「aFileのクリエータタイプを(("Please enter CREATOR..."をボタンリスト:{"Done",デフォルトテキスト:"ttxt"で表示する)の入力されたテキスト)にする」
を、クリエータ指定の命令に使います。
(クリエータ入力ダイアログ)
しかし、これだけでは選択したフォルダの中に複数ファイルがある場合、この入力ダイアログがファイル数の回数表示されてしまいます。
これでも使い途はありますが、選択したフォルダ内のファイルをすべて同じクリエータにするには、スクリプトのクリエータ入力ダイアログの処理を繰り返し文の前に移動します。また変数を使ってクリエータの値を取り扱うように修正しクリエータ(creText)の長さをチェックします。
「(creTextの長さを求める)が4になるまで」
「creTextを(("半角4文字のクリエータをタイプしてください..."をボタンリスト:{”実行”},デフォルトテキスト:"ttext"で表示する)の入力されたテキスト)にする」
となります。
上記のスクリプトは書籍からの引用ですが、別途、変数の宣言と初期化は必要なようですが、
「creTextを"ttxt"にする」
というスクリプトを書くと、
「(creTextの長さを求める)が4になるまで」
という条件文で条件を満たす為、クリエータ入力ダイアログが実行されません。なので敢えて
「creTextを"txt"にする」
という条件文を満たさない値で初期化します(書籍のスクリプトの誤りではないかと思っています)。
(日本語でのクリエータ変更スクリプト)
(修正したクリエータ入力ダイアログ)
これである程度使える「クリエータ変更スクリプト」ができ、第6章が終了です。