2010-08-08 62 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

相關問題