Mac OS X: 檔案表徵圖變更(Resource Fork)
在Mac系統裡面,檔案的一些屬性是儲存在Resource Fork裡面的,這個在其它的系統裡面基本上是沒有的,是Mac系統的特點。
Resource Fork是隱藏檔結構化資料的儲存方式,是和Data Fork相對比而言的, Data Fork就是我們最普通的一個檔案的內容的儲存方式了。
那麼Resource Fork裡面到底儲存什麼呢?其實,如果你開發程式,基本上說,可以儲存任何東西,但是造成的問題是,在當今的互聯環境裡不實用。
而在Mac系統裡面,它主要是儲存,檔案在GUI環境裡面顯示表徵圖時的表徵圖,視窗形狀,程式碼等等
這裡只說表徵圖-icon. 在GUI環境裡面,表徵圖的設定比較容易,比如複製一個圖形然後在一個檔案的資訊窗中粘貼表徵圖舊惡可以了。
下面的方法,也有使用GUI程式的部分,也有使用命令列的部分,命令列適合於管理員的管理和自動化。
# -----------------------------
# For files
# 1. Create a resource fork file (tempfork)
# . From another file using derez command
# . or use icongrapher to save as resource file
# 2. update file resource fold with the tempfork file
# . using rez command
# . or use icongrapher to save into a file
# 3. "setfile -a C" command
# -----------------------------
derez -only icns sourcefile > tempicns.rsrc
rez -a tempicns.rsrc -o recipienfile
setfile -a C recipienfile
# -----------------------------
# For Folders
#
# 1. (same as the 1. step in For Files)
# 2. copy the tempfork file in the folder
# cp tempfork /folder/Icom^M
# 3. "setfile -a C" command
# -----------------------------
derez -only icns sourcefile > tempicns.rsrc
#cp tempfork TheFolder/Icon^M
setfile -a C TheFolder
# -----------------------------
# For Volumes
# create a .VolumeIcon.icns file in the root of the Volume
# This .icns file is actually a icon file which is save in
# Icon Composer or Preview.
# 3. "setfile -a C" command
# -----------------------------
CandyBar can be used for saving other format pictures to Mac icns
Ref:
http://www.macgeekery.com/gspot/2006-09/copying_a_folders_icon_with_terminal_commands