joa*_*him 7 terminal.app macos
有没有办法从 Automator 或终端操作 Mac OS X 文件上的图标?
就我而言,我想从大量文件中删除自定义图标(即,与对图标执行“获取信息”和“编辑”->“剪切”相同)。
小智 9
我早在 2007 年就问过这个问题。 3 个 OS X 工具的组合可以做到这一点。您需要安装开发人员工具,然后查看:/Developer/Tools/Rez、DeRez 和 SetFile。
您可以使用 'sips' 为图像文件提供自己的自定义图标('sips' 作用于原始文件,因此处理副本可能更安全):
/bin/cp imagefile.jpg donorfile.jpg
/usr/bin/sips -i donorfile.jpg
Run Code Online (Sandbox Code Playgroud)
如果您只想为图像文件提供一个缩略图自定义图标,您可以就此打住。
否则,如果您安装了“Developer”/“X Code”工具,则可以使用“DeRez”和“Rez”来操作资源以将新创建的“icns”资源复制到文件中:
/Developer/Tools/DeRez -only icns donorfile.jpg > tempicns.rsrc
Run Code Online (Sandbox Code Playgroud)
然后将临时文件复制到接收文件的icns资源中,并设置自定义图标文件属性:
/Developer/Tools/Rez -append tempicns.rsrc -o recipientfile.xyz
/Developer/Tools/SetFile -a C recipientfile.xyz
Run Code Online (Sandbox Code Playgroud)
最后,重新启动“Finder”以查看更改:
/usr/bin/osascript -e 'tell application "Finder" to quit' -e 'delay 2' -e 'tell application "Finder" to activate'
Run Code Online (Sandbox Code Playgroud)
原问答帖:http : //forums.macosxhints.com/showpost.php?p=372418&postcount=7
我不确定 Automator,但Cocoa可以使用
[[NSWorkspace sharedWorkspace] setIcon:nil
forFile:@"/path/to/file"
options:0];
Run Code Online (Sandbox Code Playgroud)
或者作为一个简单的 Python 脚本:
#!/usr/bin/python
from AppKit import NSWorkspace
import sys
for path in sys.argv[1:]:
NSWorkspace.sharedWorkspace().setIcon_forFile_options_(None, path, 0)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5391 次 |
最近记录: |