ファイル/フォルダの情報をゲットするコマンド getfileinfo で attributes(属性)の値が avbstclinmedz ですが、これ何でしょう。
GetFileInfo
コマンド GetFileInfo はMacOSXかmacOS特有の情報を調べるコマンドです。
getfileinfo <path>
ファイルを調べると結果はこんな感じ。
file: "/Volumes/disk/folder/testtext.txt" type: "file: "/Volumes/disk/folder/testtext.txt" type: "\0\0\0\0" creator: "\0\0\0\0" attributes: avbstclinmedz created: 03/21/2023 01:25:59 modified: 03/21/2023 01:25:59file: "/Volumes/disk/folder/testtext.txt" type: "\0\0\0\0" creator: "\0\0\0\0" attributes: avbstclinmedz created: 03/21/2023 01:25:59 modified: 03/21/2023 01:25:59file: "/Volumes/disk/folder/testtext.txt" type: "\0\0\0\0" creator: "\0\0\0\0" attributes: avbstclinmedz created: 03/21/2023 01:25:59 modified: 03/21/2023 01:25:59file: "/Volumes/disk/folder/testtext.txt" type: "\0\0\0\0" creator: "\0\0\0\0" attributes: avbstclinmedz created: 03/21/2023 01:25:59 modified: 03/21/2023 01:25:59" creator: "file: "/Volumes/disk/folder/testtext.txt" type: "\0\0\0\0" creator: "\0\0\0\0" attributes: avbstclinmedz created: 03/21/2023 01:25:59 modified: 03/21/2023 01:25:59file: "/Volumes/disk/folder/testtext.txt" type: "\0\0\0\0" creator: "\0\0\0\0" attributes: avbstclinmedz created: 03/21/2023 01:25:59 modified: 03/21/2023 01:25:59file: "/Volumes/disk/folder/testtext.txt" type: "\0\0\0\0" creator: "\0\0\0\0" attributes: avbstclinmedz created: 03/21/2023 01:25:59 modified: 03/21/2023 01:25:59file: "/Volumes/disk/folder/testtext.txt" type: "\0\0\0\0" creator: "\0\0\0\0" attributes: avbstclinmedz created: 03/21/2023 01:25:59 modified: 03/21/2023 01:25:59" attributes: avbstclinmedz created: 03/21/2023 01:25:59 modified: 03/21/2023 01:25:59
場所、日付の他に、type と creator が確認できます。値が0なのは、もうtypeもcreatorもOSが辞めちゃったからです。未来的な仕組みだったのに残念なことでしたねえ。この二つの属性がなくなって、ほんと不便になりました。
他に attributes(属性)が取得できます。それがが本日の主題ですがちょっと後回しにして GetFileInfoをもう少し試しましょう。
フォルダを調べてみるとこんな感じでした。
$ getfileinfo '/Volumes/disk/folder/testfolder' directory: "/Volumes/disk/testfolder" attributes: avbstclinmedz created: 03/23/2023 01:25:13 modified: 03/23/2023 01:27:32
directory: と出てきました。ファイルなら file: フォルダなら directory: のキーが返されますから、これは「指定パスがファイルかフォルダかを判別する」ことに使えます。でも他の方法でもそれはゲットできますね。日付も、ゲットするなら断然 stat が良いので、結局 GetFileInfo はタイプとクリエータが命か。
タイプとクリエータがわかれば、謎アイコンと化した昔ファイルが何なのかを知ることができます。謎アイコンファイルを調べてみましょうか。
おお。これはなんですか。aestheyicaの補修工事に関するファイルみたいですが謎アイコンと化して開けません。
$ getfileinfo '/Volumes/disk/folder/aestheyica補修工事' file: "/Volumes/disk/folder/aestheyica補修工事" type: "CWWP" creator: "BOBO" attributes: avbstclInmedz created: 10/08/1994 13:03:38 modified: 02/07/2002 07:31:41
タイプがCWWP、クリエータが BOBO です。BOBOて。BOBOはマズいですね。それはともかく、CWWP はクラリスワークス書類だと思います。とするとボボもクラリスワークスですね。そうだったのか。
なんか楽しくなってきたのでさらに調べましょう。
「#2.2.2 発行物94.9」とは . だらけでどえらいファイル名ですが、こういうファイル名がうちのHDDにはたっぷり散在しています。だからこそパスから拡張子を抽出する関数の計算式に苦労したんですが、そうか、パスのテキストからじゃなく、別のゲットでファイルタイプを導いてから拡張子を判別するスクリプトと合成すれば・・・話が逸れました💦
$ getfileinfo /Volumes/disk/folder/#2.2.2 発行物94.9 file: "/Volumes/disk/folder/#2.2.2 発行物94.9" type: "edtp" creator: "8BIM" attributes: avbstclInmedz created: 09/04/1994 19:36:35 modified: 09/04/1994 19:36:35
この謎ファイルの正体は名前だけで判ります。懐かしいですね、発行と引用の発行物ですが、何を発行したのでしょう。8BIM だからPhotoshopか。
・・・ここで中断、謎ファイル解明ごっこして遊びまくってました。
そんなわけで、本題はタイプとクリエータの話じゃなく attributes: avbstclInmedz の話ですが。
パッケージを見分けられないの?
その前に、GetFileInfo を何故試してみたのかというそもそもの話をしたいと思います。まだ引っ張んのかよ。はい。
パスからファイルまたはフォルダの属性情報を得たいと思っていました。ファイルかフォルダかの判別やシンボリックリンクかどうか、日付とか、属性情報ですね、そういうのは簡単にゲットできます。
知りたいのはパッケージかどうかです。パッケージはフォルダですがファイルのようなふりをします。パッケージであることが明確に判別できる術を探していました。
ファイル管理をやっているのですが、インポートの際にパッケージの場合は内包するアイテムの取得をすべて除外したいんですよ。あるいは除外するかフォルダとして扱うかを明示的に選択したいんで、その条件を作りたいんです。指定パスがフォルダなのかパッケージなのか、これを知る方法を何年も探していますが見つかっていません。
stat、file、属性ゲットのコマンドはいろいろありますがすべて撃沈。そして getfileinfo を今回知りました。これに期待したところ、type と creator が楽しくて脱線して遊んでいたというわけです。
結論を先に言うと、GetFileInfo ではパッケージかどうかの情報を得ることはできませんでした。
attributes: avbstclInmedz
ということで属性 avbstclInmedz です。これがなんなのか、いくら考えても判るわけありません。教えてもらう以外にありません。今回、教えてくださったブログはこちらです。
記事によりますと、属性(attributes)の解読は以下の通りです。
属性の詳細。
A Alias file エイリアス
V Invisible 不可視
B Bundle
S System (name locked)
T Stationery
C Custom icon
L Locked ロック
I Inited
N No INIT resources
M Shared (can run multiple times)
E Hidden extension
D Desktop
Z Busy
http://memo-no-memo.cocolog-nifty.com/blog/2009/05/osx-3d44.html
なるほど。どれ見ても属性が同じ「avbstclInmedz」な筈ですね。大文字なら有効、小文字なら無効とのことです。
もしエイリアスなら「AvbstclInmedz」、不可視ファイルなら「aVbstclInmedz」こうなってるという案配です。
教えてくださったブログの該当ページに「参考サイト」が紹介されていましたがすでに存在していませんでした。そうですね、ウェブページはいつか消えます。ここデジタル部活もいつか消えます。はかないですね。しんみり。
さて最初はこの属性の中にパッケージの判別があるのではと大いに期待しましたが、残念ながらそれはありませんでした。
ちなみに、属性を変更するには setfile を使うそうです。
付録:GetFileInfo のオプション
GetFileInfo のオプションをコマンドとパスの間に書きます。
getfileinfo [OPTION] <path>
- -a … 属性(avbstclInmedz)
- -c … クリエータ
- -t … タイプ
- -d … 作成日付
- -m … 変更日付
個別に取り出したいときにのみ使うようですね。例えば、タイプとクリエータをゲットしようと「 getfileinfo -c -t ‘パス’ 」こう書いても駄目です。オプションは一個だけです。