話題 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 (データファイル 含む)

  1. 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 では 相対パスは 不可で 絶対パスの記載が必要です。

変数は 使えます。