このページは福井県立大学の田中求之が2006年1月まで運用していた Mac のサーバ運用に関する会議室 「Web Scripter's Meeting」の記録です。情報が古くなっている可能性がありますのでご注意ください。

Apple Scriptでファイルのリソースフォークをできるか?

発言者:礒野吉彰
( Date Sunday, September 15, 1996 19:23:45 )


 参考書を2〜3見たのですが、リソースフォークの話はまったく触れられてい
ないので、標記の質問をしました。

 何をやろうとしているかを簡単に説明すると、AIMSとuupcを使って、イントラ
ネットで行っているメールサービスを外部(インターネット)に拡張したいので
す。
 外へ出すときには、AIMSのSending Setupで外行きのメールをテキストファイル
にして、Apple Scriptでuupcのコマンドファイルを作ってやれば良いことがわか
りました。
 しかし外部からのメールは、uupcが作ったテキストファイルに、発信者と受信
者のアドレスを含むリソースフォークを加えて、AIMSに渡してやる必要があるの
です。

 Apple Scriptがリソースフォークを扱えない場合は、Localtalk経由でUUCPモー
ドのEudoraとAIMSの橋渡しをするALBというアプリケーションを使うつもりですが、
テキストからコマンドファイルを作成して、それをALBに渡すという2段構成があ
まりにもエレガントでないような気がして、Apple Scriptで全部やりたいのです。

WebServerやCGIが中心のBBSに場違いな質問かもしれませんが、よろしくいおねが
いします。

Tanaka's OSAXとサンプルスクリプト、大いに活用させていただいて、インタラク
ティブなイントラネットが運営できています。ありがとうございます。

礒野吉彰 さんからのコメント
( Sunday, September 15, 1996 19:25:43 )

表題が間違っていました。
                      ・・
「Apple Scriptでファイルのリソースフォークを操作できるか?」

でした。

田中求之 さんからのコメント
( Sunday, September 15, 1996 20:29:35 )

>Apple Scriptでファイルのリソースフォークを操作できるか?

結論からいうと、osax を用いれば可能、ということになります。

AppleScript 自体には Resource を扱うコマンドは一切用意されていませんが、
Resource 操作用の osax を用いれば扱えます。

たとえば、Tanaka's osax には、テキストデータをクリッピングファイルに書き込む
コマンドがありますが、あれは、データをファイルの TEXT リソースに書き込むという
操作を行っています。このように、必要となる処理を行える osax さえ用意すれば
リソースの操作も可能です。

汎用のリソース操作用の osax としては、Late Night Software の LNS Scripting
Additon ($49) というのがあります( ScriptDebugger にバンドルされてもいます)。


どのようなリソースの処理が必要なのですか? TEXT, STR, STR# あたりのリソース
の処理でよいのなら、XCMD としてかなり色々なパターンの処理のコードを書いたことが
ありますので、そのソースを書き換えて osax にしてもいいですよ。ファイルに特定の
リソースを新たに追加する程度のものなら30分もあれば作れます。

礒野吉彰 さんからのコメント
( Sunday, September 15, 1996 21:21:06 )

STRに発信者のアドレス、STR#に受信者のアドレス、この2つが追加できれば良
いのですが。

でもわざわざ作って頂くのは申し訳ないような。
osax を使わなければできないことがわかっただけで大収穫でした。(力技にな
るけど代替手段はあるのだし。)

osax としてどんな資源があるのかも勉強してみます。

礒野吉彰 さんからのコメント
( Monday, October 07, 1996 14:50:23 )

やっと当初の目的を実現するスクリプトが書けましたのでご報告します。

info-Mac や Apple のサイトなどを色々さがした結果、リソースを読み出す osax は
見つかりました。(Has Resource というシェアウェア)

リソースを書き込む方は osax が見つからなかったのですが、存在しないユーザ名を
リソースに書き込んで AIMS に渡すと、エラーを出さないで Postmaster に転送して
しまうことが判ったので、結局、TCP/IP Scripting Addition を使って、SMTP で 
AIMS に送ることとし、user unknown のリプライはスクリプトで生成することとしま
した。ALB を噛ますことなく、スクリプトだけで済ますことができました。
(田中さんの sendMail(2.0)のお世話になりました。)

有益な示唆を与えていただき、ありがとうございました。