2010-08-08 95 views
1

我想将一个别名放入一个固定文件夹,即将iWorks模板文件夹放入DMG中。Mac为没有固定用户的DMG文件创建别名

目录是

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

我的问题是,我希望把它变成一个DMG,使人们可以很容易地安装模板。但是,尽管Application文件夹可以正常工作,但模板文件夹中始终有我的用户名。所以如果有人打开它,别名会用我的用户名指向目录,这当然不会在不同的mac上存在。

有没有人有任何想法如何解决它?

谢谢。


将您的所有评论与以下内容结合起来,我得到了一个按我想要的方式工作的液滴。

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文件中。我不能在它上面拖动任何东西。有任何想法吗?

到目前为止感谢。

回答

5

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

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

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

+0

欧凯, 那么显然,由于你输入我想通了,这似乎是 '〜/库/应用程序的\ Support/iWork的/网页/模板/我的\模板/' 至少在终端是。 我现在如何获得一个文件夹/别名来表示这个链接? 感谢您的帮助。 – 2010-08-08 21:25:17

+0

我编辑了我的答案以向您展示可能的解决方案。 – None 2010-08-08 23:29:12

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 
1

你需要的是相对的别名。

一个旧包能够创建它们:这个osxutils

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

+0

我希望osxutils可以在Intel机器上运行! – 2011-08-12 22:18:13

相关问题