2011-02-04 64 views
2

我最近想知道Mac OS X如何存儲文件的縮略圖。谷歌搜索後,我發現了「資源分叉」,這是蘋果公司HFS文件系統顯然獨有的一個特徵。如何以編程方式訪問Snow Leopard上的文件資源分叉?

我真的不喜歡有資源分叉的想法,我希望能夠刪除它們。有沒有辦法以編程方式訪問資源分叉?各種論壇帖子說,要看到像presentation.pdf這樣的文件的資源分支,我應該ls presentation.pdf/rsrc,但我一直沒有能夠在我的系統上找到這樣的文件。這仍然是雪豹的工作原理嗎?

我不想下載或購買一些工具,爲我做這個。我對命令行感到滿意,理想情況下我想要一個命令行解決方案,以便我可以編寫腳本。

而在我真的經歷了這個之前,我想我應該問:刪除資源分叉是否有任何傷害?

回答

3

這取決於什麼是資源分叉。資源分叉的使用已經不受歡迎,但有很少的保留包括別名文件,自定義圖標(在文件上)和一些遺留字體文件。您可以使用「ls -l @」驗證文件是否在終端中具有資源分支。資源分支也通過「com.apple.ResourceFork」屬性顯示在擴展屬性API中。

如果您只想刪除縮略圖,可以從Finder的GetInfo面板執行此操作。擴展屬性API(如removexattr(2))將讓您以編程方式刪除資源分叉。

如果你好奇什麼是你可以使用的資源叉內: 「hexdump都-C MYFILE/.. namedfork/RSRC」

希望這有助於

-Don

0

你問 - 「刪除資源分叉有沒有什麼壞處?」

當然有。這些是某人以某種方式構建的文件,如果你從它們中刪除了大塊文件,無論程序如何使用它們都不會很高興。在某些情況下,你應該這樣做,只要你知道你在做什麼。

例如,文本剪切(將所選文本塊拖到桌面時得到的內容)完全存儲在資源分支中。數據分叉是空的。這很煩人,但它是這樣的。如果您刪除資源分叉,則會顯示所有文本。

更好的方法可能是聯繫任何仍在創建資源分支的軟件的作者,並試圖說服他們放棄這種做法,因爲您喜歡在數據分支中擁有所有內容。

相關問題