Filemaker_Tech
Filemaker_Tech
話題 25 ファイルパス ( File Path)
(工事中)
2025.12.10 更新
ファイルパス
いままでパスについて深く考えたことがなかったのですが,
ネットで 以下の言葉を見つけました。
「パスはファイルの在処を示す記述で、ファイルを唯一絶対かつ「それはそれ自身と同一である」という宇宙真理的アイデンティティを確保する、いわばコンピュータの根幹ですね。」
https://www.digitalboo.net/post/7320/fm-media-db2-path
Filemakerで パスが 必要な Script Step は 沢山ありますが 主なものは。
1. レコードの Export, Import
2. フィールド内容の Export, Import
3. ファイル Open Close (データファイル 含む)
4.URLを開く

自分自身のFile と同階層の File あるいは Folderをターゲットとして 何かのタスクを企てるときに
相対パスが使えます。
上記の 例で, Ex Folderの中の “abc.txt”を指定するときは パスは “file:Ex/abc.txt” とだけ記載すればOKです。このとき “file:”を省略して“Ex/abc.txt” と 書いても機能しますね。
例えば 「レコード内容のエクスポート」 で

これを 変数を使って 表現するときは仮に $path とすれば 以下のようになります。

ちなみに 同階層のさらに下層のFolderでも 相対パスで表現することはできます。下層はいくらでもOKです。
例えばEx Folderの下層にSub Folderがあった場合は “file:Ex/Sub/abc.txt” とすれば OKです。

これを フルパス (Full path )で 表現することもできます。
Filemaker では 自分自身の フルパスを表示させることができます。
例えば 自分自身(起動中のFilemaker のソフト:Transfer_Export.fmp12) が Document (書類)Folderに いるとすると
取得関数 get (ファイルパス) を 使います。
file:/Mac HDD/Users/self/Documents/Transfer/Transfer_Export.fmp12
これを利用すると エクスポートに関しては
file:/Mac HDD/Users/self/Documents/Transfer/Ex/abc.txt
filemac:/Mac HDD/Users/self/Documents/Transfer/Ex/abc.txt
/Mac HDD/Users/self/Documents/Transfer/Ex/abc.txt
いずれでも OKです。
自分自身の File名は 取得関数 get (ファイル名)で 獲得できるので, それを 利用すれば 計算式
"filemac:/" & Substitute ( Get ( ファイルパス ) ; ["file:/";""];[Get ( ファイル名 ) & ".fmp12";""] ) & "Ex/EXT_A" & $ran & ".txt"
自分自身がいる 場所と異なる系統の 位置のFileにアクセスするときは 絶対パスの記述が必要です。
例えば デスクトップ FolderのFileは
取得関数 get (デスクトップパス) で Desktop Folderのパスが分かりますから,
/Mac HDD/Users/self/Desktop/
file:/Mac HDD/Users/self/Desktop/Transfer/Ex/abc.txt
となります。
Download Folderは コンピュータ宇宙の「中心」からは 等距離にあるので その応用で
/Mac HDD/Users/self/Downloads/PathA/Ex/EXT_A86970.txt
となります。
ターミナルで Folderを したべると
$ ls -a
Desktop
Documents
Downloads
Library
Movies
Music
Pictures
Public

上記のFolderが 「中心」からは 等距離 にあることが分かりますから,
Mobies Folfer なら
/MacHDD/Users/self/Movies/PathA/Ex/A_86970.txt
Music Folderなら
/Mac HDD/Users/self/Music/PathA/Ex/A_86970.txt
となりいます。
URLを開く
このStep では 相対パスは 不可で 絶対パスの記載が必要です。
変数は 使えます。