设置符号链接的图标

时间:2014-05-27 23:45:17

标签: macos bash

我正在尝试为客户端完成产品,需要在桌面和Dock上创建两个别名,以便最终用户轻松启动产品中的两个主要应用程序。安装脚本通过将图标设置为各种文件夹和文件来完成安装。安装在/ Applications文件夹下创建一个文件夹,在/ Users / Shared文件夹下创建另一个文件夹。这些文件夹中的每一个都使用SetFileIcon(共享软件应用程序)应用了一个图标。然后,该脚本在桌面上创建两个别名,并使用SetFileIcon将图标应用于每个别名。

我的第一个问题是其中一个别名指向Excel电子表格,但每次运行更新应用程序时都会替换此电子表格。这使别名指向废纸篓中的电子表格,并且新文件完全不受影响。我的更新程序应用程序是用Mono编写的 - 因此没有简单的方法可以调用Mac OS来重新创建别名,重置图标并将其放在桌面和扩展坞上。

我试图通过使用脚本命令为电子表格创建符号别名然后应用图标来解决此问题:

SetFileIcon "/path/to/spreadsheeticonfile" "/path/to/spreadsheet.xls"
ln -s "/path/to/updater" "/Users/$USER/updateralias"
ln -s "/path/to/spreadsheet.xls" "/Users/$USER/spreadsheetalias"
SetFileIcon "/path/to/iconfile" "/Users/$USER/spreadsheetalias"

第一个SetFileIcon命令工作正常,电子表格现在有一个与之关联的新图标。第一个“ln -s”也可以正常工作,并且使用与之关联的更新程序图标创建新的slias。第二个“ln -s”为电子表格创建别名,但是有一个纯白色图标,而不是与电子表格关联的图标。最后一个SetFileIcon是我在别名上强制图标的绝望尝试 - 这也不起作用。

我尝试创建一个启动excel电子表格的bash脚本,这似乎接受了一个图标,但似乎有类似的。但是,在excel电子表格启动后,它还会使终端会话运行,并且即使手动应用,bash脚本的别名也不会接受图标。

2个问题: 1.有没有办法将图标分配给有效的符号别名。即使手动使用GetInfo在别名上设置图标也不起作用。 2.没有使Alias工作,是否有任何解决方法可以让我在安装时在用户桌面和他们的Dock上有一个链接,它有我们想要使用的漂亮图标,而不是一般的excel白色方块。我只需要一种简单的方法将带有图标的链接放到用户桌面上另一个目录中的文件中,该文件将定期更新,并在安装时执行。简单。

建议欢迎。

谢谢,Neil

P.S。它可能不说我是MAC新手 - 我最初是为PC World中的客户开发此产品,但他随后收到了为Mac翻译它的重复请求,因此,我在这里努力学习开发Mac。

1 个答案:

答案 0 :(得分:0)

符号链接与别名不同。 (并且没有“符号别名”这样的东西。)您不能设置符号链接的图标,因为它不是普通文件,因此不能在其上设置适当的属性。

创建别名有多种方法,但一种方法就是使用AppleScript:

osascript -e 'tell application "Finder" to make new alias at (path to desktop folder) to (("/path/to/file") as POSIX file)'

(注意:为了实现这一目标,需要存在路径。)

完成此操作后,您应该可以设置图标。