在Mac OS X中使用图标列出的文件夹

时间:2013-05-26 17:16:15

标签: macos icons applescript

我想向朋友发送我Mac上所有应用程序的精美列表,包括图标和简短评论。我将评论写为Finder评论(在每个应用程序的“获取信息”窗口中)。我试图使用一个名为“打印窗口”的有前途的应用程序,但它会截断我的评论。然后我试图找到一个AppleScript解决方案(在TextEdit中编译一个列表),但似乎没有简单的方法来做到这一点 - 至少没有安装一些额外的东西(我不想这样做)。

如果我能获得一个可编辑的列表,在TextEdit中编辑它会很好:app name,app icon,comment。

有谁知道解决方案?

谢谢。

1 个答案:

答案 0 :(得分:4)

我会使用这样的shell脚本:

mkdir -p icons
i=1

for a in /Applications/*.app; do
    name=${a%.app}
    name=${name##*/}
    comments=$(osascript -e 'on run {a}
    tell app "Finder" to comment of (POSIX file a as alias)
    end' "$a")
    icon=$(defaults read "$a/Contents/Info.plist" CFBundleIconFile)
    [[ $icon != *.* ]] && icon="$icon.icns"
    sips "$a/Contents/Resources/$icon" -Z 128 -s format png -o icons/$i.png
    output+="<div style=\"clear:both;width:600px;margin:0 auto\">
<div style=float:left><h2>$name</h2><div>$comments</div></div>
<img style=float:right src=\"icons/$i.png\">
</div>
"
    let i++
done

echo "$output" > index.html
open index.html

Spotlight注释通常存储为扩展属性和.DS_Store文件。如果您使用Finder更改您没有写入权限的文件或文件夹的注释(默认情况下与某些应用程序包一样),则注释仅存储在.DS_Store文件中,因此无法使用xattr读取它们或mdls。