Mac为DMG文件创建别名,没有固定用户

时间:2010-08-08 21:12:19

标签: macos alias dmg

我想将一个别名添加到固定文件夹,即将iWorks模板文件夹放入DMG。

目录是

/Users/USERNAME/Library/Application Support/iWork/Pages/Templates/My Templates

我的问题是,我想把它放到DMG中,以便人们可以轻松安装模板。但是,虽然它与Application文件夹一起正常工作,但模板文件夹中始终包含我的用户名。因此,如果其他人打开它,别名会使用我的用户名指向dir,这当然不存在于其他Mac上。

有没有人知道如何解决它?

感谢。


将所有评论结合到以下内容中,我得到了一个以我想要的方式运行的Droplet。

on open thefiles    
    set outputFolder to (path to application support folder from user domain as text) & "iWork:Pages:Templates:My Templates:"
    do shell script "/bin/mkdir -p " & quoted form of POSIX path of outputFolder
    tell application "Finder"
        duplicate thefiles to outputFolder
    end tell    
end open

问题是,虽然它可以在我的Mac上运行,但我不能在DMG文件中使用它。我不能拖动任何东西。有什么想法吗?

到目前为止,谢谢。

3 个答案:

答案 0 :(得分:5)

~文件夹代表用户主目录。所以你的文件夹是~/Library/Application Support/iWork/Pages/Templates/My Templates 回复您的评论:我不确定这是否可行。您可以在终端尝试ln。它是一个用于建立链接的实用程序。但我认为它只是在您使用它时将~转换为主目录的实际路径。而且我认为你必须将一个符号链接作为一个硬链接,一些文件系统可能不支持(所有的mac应该)。另一种可能性是制作一个简单的Applescript Droplet,它使用shell脚本将您拖动到其上的文件移动到您想要的路径。将以下代码粘贴到脚本编辑器中,并将其另存为应用程序或应用程序包(无关紧要):

on open thefile
 do shell script "mv " & POSIX path of thefile & " ~/Library/Application\ Support/iWork/Pages/Templates/My\ Templates/"
end open

将文件拖到您创建的应用程序时,它会将其移动到您的目录中。您可以通过右键单击应用并选择“获取信息”,然后将旧图标粘贴在旧图标上来更改图标,使其看起来更像文件夹。

答案 1 :(得分:1)

你可以使用这个AppleScript。将其另存为应用程序并将其包含在安装磁盘上。用户所要做的就是运行applescript应用程序来安装别名......或者在将应用程序放在用户的驱动器上后,您可以自己运行代码。只需修复inputFile变量即可指向您的文件。在这个例子中,我只是从Address Book.app应用程序中抓取了一个图像。

set inputFile to (path to applications folder as text) & "Address Book.app:Contents:Resources:AB16.png"

-- first create the outputFolder if necessary
set outputFolder to (path to application support folder from user domain as text) & "iWork:Pages:Templates:My Templates:"
do shell script "/bin/mkdir -p " & quoted form of POSIX path of outputFolder

-- create the alias in the outputFolder
tell application "Finder"
    make new alias file at folder outputFolder to file inputFile
end tell

答案 2 :(得分:1)

您需要的是相对别名。

旧包可以创建它们:osxutils

另一种解决方案是创建符号链接。