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

FileMakerによる画像一括取り込みについて

発言者:中川 時宏
( Date Wednesday, August 15, 2001 22:40:47 )


始めまして、この度このBBSに参加させて頂くことになりました、
中川と申します。
宜しくお願い致します。

今回、FileMakerでの画像取り込み。(パス取り込み)を友人からアドバイスしてもらいながら
作成したのですが、(以下作成したスクリプト。)
=================================================================
activate
set folderPath to (choose folder with prompt "取り込みたい(JPEG)フォルダーを指定して下さい")
set fileList to list folder folderPath
repeat with name in fileList
set pictureFile to (folderPath & name as string)
set pictureFile2 to (folderPath as string)
if folder of (info for (alias pictureFile)) = false then
if file type of (info for (alias pictureFile)) = "JPEG" then
tell application "Finder"
set dataSize to (size of file pictureFile)
end tell
tell application "ファイルメーカー Pro"
activate
set newRecord to create record
go to newRecord
set cell "Name" of newRecord to name
set cell "Picture" of newRecord to file (pictureFile)
set cell "Folder" of newRecord to pictureFile2
set cell "Size" of newRecord to dataSize
end tell
end if
end if
end repeat
===================================================================
これに、機能を追加したいのですが
私どもの力不足で、先輩方にアドバイスをいただかなくてはならない
状況になってしまったので、今回このMLに参加しました。

皆様方のお力を貸してください、お願い致します。

現在、フォルダを指定してから自動的にJpegをインポート出来るスクリプト
まで、完成しました。


しかし、私たちの希望しているものは
・例えば、フォルダが5階層あって、最上位階層のフォルダを指定することによって
その中のJpeg Fileを自動的に選んで、インポートをする。(階層を自動的に掘っていく)

・1度、取り込まれたJpeg Fileにはラベルをつける。

・ラベルの付いていない、Fileのみインポートする。

以上、3点です。

ささいなヒントでも結構ですので、先輩方の良きアドバイス宜しくお願い致します。





森下 さんからのコメント
( Wednesday, August 15, 2001 23:49:02 )

ASUG-MLで広瀬さんが答えてられるように、
とんびさんところのページに、階層下のフォルダを全て処理する例が
あります。

ラベルの付け方も、広瀬さんがおっしゃるように、
tell application "Finder"
set lable index of <ファイル> to <0~7>
end tell
ですね。

でも、現実問題として、画像ファイルは増えるのみであるなら、
実行する度に処理がどんどん重くなって行きますよ。
たとえば、すでに取り込んだ画像が1000個あるところに、
ひとつだけ画像が追加されたとして、
リピートは画像以外のファイルが一切ないとしても、1001回かかります。
それで取り込める画像はひとつだけと言うことになりますからね。

ファイルの保管場所など、設計を考え直したほうが、
賢いような気がします。でないと、日々使い物に
ならなくなって行くような気が・・・。

まあ、この意見は単なる私の老婆心ですので、
あまり気に為さらないでください。


→  再起呼び出し

田中求之 さんからのコメント
( Thursday, August 16, 2001 13:44:05 )

>(階層を自動的に掘っていく)

この部分は osax を使うとかなり高速化できます(ちなみに Tanaka's osax
の場合は内部的にも再帰処理は行っていませんので、メモリ不足の心配など
もなく、かなり深い階層であっても平気で拾ってこれます)

osax を使っても良いなら、サンプルのスクリプトを書きますが。

それと、ラベルのチェックと変更部分で Finder を呼びだす必要があり、この
部分が、処理速度をかなり落としてしまう可能性があります。

山田 さんからのコメント
( Thursday, August 23, 2001 14:33:36 )

初めまして、私も中川さんと同じ FileMakerによる画像一括取り込みについてを
調べていたらこのページにたどり着きました。よろしくお願いします。
私の場合、パス取り込みで参照して画像を表示すると、元データの場所が
変わってしまうと再表示できなくなってしまいますが、そうではなく
完全に取り込んでしまいたいのですが、
どのようなスクリプトに変更すればよろしいですか?
よろしくお願いします。

田中求之 さんからのコメント
( Saturday, August 25, 2001 17:48:13 )

>完全に取り込んでしまいたいのですが、

取り込む画像のファイル形式はなんでしょうか?

中川 時宏 さんからのコメント
( Thursday, October 18, 2001 09:09:12 )

う〜ん、なんとかapple Scriptで完成させる事が出来ましたが
やっぱり、速度的にしんどいですね〜。(泣)
森下さんと、田中さんの言うように再起定義を行わなくていい
OSAXを使用させていただく事に
決めました。

田中さん、もしお時間がありましたら
OSAXのサンプルスクリプトを書いて頂けませんでしょうか、
お手数をおかけしますが以上、宜しくお願い致します。