2016-08-01 81 views
1

我在製作一個腳本,可以自動安裝Vivaldi。我已將.app文件放在包內容(位於資源文件夾中)中,我希望它將應用程序移至「應用程序」文件夾。所以,我有兩個問題:將應用程序從另一個應用程序的內部移動到另一個文件夾中

  1. 這實際上是可能的嗎?
  2. 如果是這樣,怎麼樣?

我有這個至今:

set Vivaldi to ((path to me as string) & "Contents:Resources:Vivaldi.app") 
set AppFolder to "Macintosh HD/Applications/" 
tell application "Finder" 
    move application Vivaldi to AppFolder 
end tell 
+0

任何你沒有使用標準.pkg格式的原因?甚至只是一個普通的舊.zip?理想情況下,安裝自包含的.app應該像解壓縮並將其放入「應用程序」文件夾一樣簡單。如果您必須安裝其他依賴項或運行安裝前/安裝後腳本,請使用'pkgbuild'和'productbuild'來創建.pkg。試圖發明自己的臨時安裝程序而不是使用已建立的安裝程序可能會導致比解決問題更多的問題。 – foo

回答

1

如果你去說你讓包含在資源文件夾移動所包含的應用程序到應用程序文件夾中其他應用程序的AppleScript的應用程序則是這是可能的:D!您可以在此處使用此代碼:

set vivaldiApp to POSIX path of (path to resource "Vivaldi.app") 
do shell script "cp -r \"" & vivaldiApp & "\" /Applications/" 

那就是它!

希望這可以幫助!

+0

做得很好; 2個建議可以使這個更健壯一些:使用''引用的形式'而不是用雙引號括住路徑;使用'cp -R'; 'cp'的'man'頁面聲明爲'-r':「強烈建議不要使用它,因爲它不能正確複製特殊文件,符號鏈接或fifo。」 – mklement0

+0

好的,請牢記這一點 – Lucasware

相關問題