2016-08-01 80 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

相关问题