クリエーター変更
概要
クリエーターとは、データが何で種類のものかを表すため4バイトの文字列です。
アプリケーションの作者がAppleに申請を依頼し、全てのアプリケーションに個別のクリエーターを割り振っています。
Windows等の拡張子と似たようなものです。
このクリエーターはどこに記述されているのかというと、リソースフォークと呼ばれるMac独特のデータ部分に書込まれており、これが壊れてしまい、何の書類か判らなくなってしまう事があります。
メールなどで素のままで書類が送られてきた場合などに書類が白紙のアイコンになってしまい、本来開くはずのアプリケーションで開く事が出来なくなる事があります。
そんな場合、クリエーター変更ユーティリティを使うのですが、自分でも簡単に作れてしまいます。
まずは下記のスクリプトを記述して、アプリケーション形式で保存をしてみて下さい。その際に、「初期画面を表示しない」にチェックを入れるのを忘れないで下さい。
¬のマークは改行しないという意味です。1行に続けて書いて下さい。
コピペする場合には、一旦テキストエデタ(Jeditなど)にペースとし、全角スペースを消して、¬を半角スペースに変え、後ろの改行を消してからスクリプトエディタに貼付けて下さい。
on open drop_items
tell application "Finder"
repeat with obj in drop_items
set creatorData to creator type of obj
display dialog name of obj & "のクリエータタイプ:" & ¬
creatorData & "を変更します。" default answer creatorData ¬
buttons {"キャンセル", "OK" }default button 2 with icon note
set cre to text returned of result
display dialog name of obj & "のクリエータタイプを" & ¬
return & cre & "に変更します。"¬
buttons {"キャンセル", "OK", "全てOK" } default button 2 ¬
with icon note
set btn to button returned of result
if btn is "キャンセル" then
exit repeat
else if btn is "全てOK" then
repeat with obj in drop_items
set creator type of obj to cre
end repeat
exit repeat
end if
set creator type of obj to cre
end repeat
end tell
end open
Download: クリエータ変更スクリプト(Classic用)
保存出来たアプリケーションに、ファイルをドラッグ&ドロップしてみて下さい。
ドロップした書類のクリエーターが表示され、別のものに変更するよう促してきます。
変なものを居れると、わけのわからない書類になってしまいますので注意しましょう。
スクリプト解説
●スクリプトの流れ
on open drop_items
on openでまずはアプリが起動します。
変数drop_itemsにドロップされたファイルが代入されます。
repeat with obj in drop_items
ドロップされたファイルの数だけ処理を実行します。
drop_itemsから一つずつファイルを拾いだし、変数objに代入します。
set creatorData to creator type of obj
display dialog name of obj & "のクリエータタイプ:" & ¬
creatorData & "を変更します。" default answer ¬
creatorData buttons {"キャンセル", "OK"} default button 2 with icon note
set cre to text returned of result
display dialog name of obj & "のクリエータタイプを" & return & cre & ¬
"に変更します。" buttons {"キャンセル", "OK", "全てOK"} ¬
default button 2 with icon note
set btn to button returned of result
変数objに代入されたファイルのクリエーターを変数creatorDataに代入し、display dialogでクリエーターの変更入力を行うダイアログを表示しています。
結果は変数creに代入。
続いて複数の書類を変更する場合を考え、変更はこの書類だけなのか、それとも全てに適応するのかダイアログを出して確認しています。
結果は変数btnに代入。
if btn is "キャンセル" then
exit repeat
else if btn is "全てOK" then
repeat with obj in drop_items
set creator type of obj to cre
end repeat
exit repeat
end if
ダイアログの結果から作業の振り分けを行っています。
変数btnは、ドラッグされたファイル全てに同じ処理をするのかが代入されています。
答えは3つあり、"キャンセル"か "OK"か "全てOK"になります。
if btn is "キャンセル" then
答えが"キャンセル"の場合、作業を中止して終了致します。
else if btn is "全てOK" then
答えが"全てOK"の場合には、すべてのドロップされたファイルの数だけ同じ処理を繰り返します。
以上以外の答えは "OK"となり、一つ作業を行い、またはじめから同じ作業を繰り返します。
●プロパティ
このクリエーター変更スクリプトは、ほとんど今迄に出てきた命令で作られていますが、2つだけ新しい命令が出てきています。
name of obj
creator type of obj
だいたい察しはつくと思われますが、name of objはファイル名です。
そしてcreator type of objがクリエータタイプとなります。
このようなファイルの情報をプロパティと呼び、日本語では属性とも呼ばれます。
名前以外にも容量や作成日・変更日などの情報やファイルタイプなどもあります。
プロパティは読込み専用のものから、読み書き出来るものがあり、名前なども読み書きが出来るプロパティです。
以下は、Finderが扱うitemクラスのプロパティです。
(itemクラスとはMacで取り扱えるファイル全てを指します。)
name | 項目の名前表す文字列。 | |||||||||
index | 項目が含まれるコンテナの中で割り振られた番号。 相対値であり、コンテナに変更が加わると、indexも変更される可能性がある。 |
|||||||||
id | Macintoshのファイルシステムによって項目に割り振られたID番号。 項目が削除される迄その項目のIDは変更される事はない。 |
読込み専用 | ||||||||
container | 項目の含まれるコンテナの参照。 | 読込み専用 | ||||||||
disk | 項目の含まれるディスクの参照。 | 読込み専用 | ||||||||
folder | 項目の含まれるフォルダの参照。 | 読込み専用 | ||||||||
position | 項目が含まれるコンテナのウィンドウの中での、項目のアイコンの位置。 アイコンの左上の位置をウィンドウの座標で、{X座標,Y座標}のリストで表す。表示がリスト表示になっている場合には、Setする事が出来ない。 |
|||||||||
bounds | 項目が含まれるコンテナのウィンドウの中での、項目のアイコンの位置と、大きさを表す。 アイコンの{左上のX座標,左上のY座標,右下のX座標,右下のY座標}をリストで表す。表示がリスト表示になっている場合には、Setする事が出来ない。 |
|||||||||
label index | 項目のラベルを表す整数。
|
|||||||||
kind | 項目の種類を表す文字列。 | 読込み専用 | ||||||||
discription | その項目の解説が書かれた文字列。他では見る事が出来ない。 | 読込み専用 | ||||||||
comment | 項目に付けられたコメントの文字列 | |||||||||
size | 項目の容量。バイト単位で表した整数。 | 読込み専用 | ||||||||
physical size | 項目のディスク上での表示容量をバイト単位で表した整数。 | 読込み専用 | ||||||||
creation date | 項目の作成日 | 読込み専用 | ||||||||
modification date | 項目の修正日 | |||||||||
icon | 項目のアイコンデータをicon familyクラスのデータで表す。 | |||||||||
selected | その項目が選択されているかどうか。 | |||||||||
content space | 項目が開かれた時の空間の参照 | 読込み専用 | ||||||||
window | 項目が開かれた時のウィンドウの参照 | 読込み専用 | ||||||||
infomation window | 項目の情報ウィンドウの参照 | 読込み専用 |
ほかにもfileのプロパティもあります。
file type | ファイルを表すファイルタイプ。4バイトの文字列。 | |
creator type | ファイルのクリエータを表す4バイトの文字列。 | |
loced | ファイルのロック状態。 | |
stationery | ファイルがひな形かどうか。 | |
product vertion | 製品バージョンを表す文字列 | 読込み専用 |
vertion | バージョンを表す文字列 | 読込み専用 |
読込み専用のものは、見る事は出来ても変更は出来ませんが、 それ以外のものは自由に変更が出来ます。
次のページでは利用度の高い、ファイルネームの変更を説明します。