通过终端(bash)打开脚本编辑器并保存文件
我想让脚本编辑器打开一个.scpt文件,然后制作一个副本并将其保存为应用程序。我想自动完成这一切,因为我不想单击“复制并保存”,然后键入所有内容。通过终端(bash)打开脚本编辑器并保存文件,bash,macos,applescript,Bash,Macos,Applescript,我想让脚本编辑器打开一个.scpt文件,然后制作一个副本并将其保存为应用程序。我想自动完成这一切,因为我不想单击“复制并保存”,然后键入所有内容。 基本上就是我想做的 在脚本编辑器中打开xyz.scpt 复制一份 将文件另存为xyz.app(应另存为应用程序) 我想我应该使用applescript,但如果有更好的方法,请告诉我。 目前,前两个步骤似乎足够简单 open xyz.scpt osascript -e 'tell application "Script Editor" to acti
基本上就是我想做的
open xyz.scpt
osascript -e 'tell application "Script Editor" to activate' #Maybe redundant
osascript -e 'tell application "System Events" keystroke "," using {command down,shift down}'
osascript -e 'keystroke "s" using {command down}'
在这之后,我不知道如何继续。如何使其将名称从“xyz copy”更改为“xyz”,并将其另存为应用程序
请注意,任何解决方案都可以。该解决方案不必是AppleScript解决方案,它可以是任何类型的解决方案。在脚本编辑器中,打开xyz.scpt后,使用“另存为”功能,输入应用程序和新文件路径。以下是文档(在脚本编辑器库窗口中): 保存 v:保存一个对象。 保存说明符:命令的对象 [astext]:保存数据的文件类型。使用以下字符串之一:“脚本”、“脚本包”、“应用程序”、“文本” [in别名]:保存对象的文件 [仅运行布尔值]:脚本是否应保存为仅运行?如果是,您将无法再次编辑脚本的内容。默认设置不是仅保存为运行。(适用于除“文本”之外的所有脚本类型) [启动屏幕布尔值]:是否显示启动屏幕?默认情况下,不显示启动屏幕。(仅适用于保存为“应用程序”的脚本) [保持打开布尔值]:应用程序启动后是否应保持打开状态?默认设置是不保持打开状态。(仅适用于保存为“应用程序”的脚本) 尽量避免GUI脚本编写(击键,…)。如果应用程序是脚本命令,请始终首先查看。它更快、更安全。复制自: 有一种命令行机制:
osacompile -o MyScript.app MyScript.scpt
将问题标记为跨站点重复是不可能的。因此,在这里作为一个单独的答案张贴。向上投票人,请在给出的行向上投票原始答案。:-) “复制”是什么意思?它只是一个简单的副本,就像
cp
那样吗?或者脚本编辑器会修改任何内部路径等吗?@anishsane只是一个像cpSo这样的简单副本,为什么要在编辑器中打开并保存它呢?为什么不仅仅是cp
?我需要将其保存为应用程序,而不是脚本或.scptSo的当前格式。因此,它不仅仅是cp:-)无论如何。。。您可能需要考虑使用命令行方式将脚本复制为应用程序的可能性。UI机制(1)速度慢,(2)难以通过ssh-X运行。再次感谢@pbell的帮助。因此,为了在终端中确认,我应该在“xyz”中键入osascript-e“另存为应用程序”
当我尝试上述脚本时,它会给我以下错误执行错误:«script»不理解“save”消息。(-1708)
在Applescript中保存的确切语法是:将前端文档另存为文件“Users:myUser:myFolder:Test.app”中的“application”。您必须在osascript命令中包含该命令。然而,当我进行测试时,我发现脚本编辑器有时需要在“compile”指令之前确保脚本在保存为应用程序之前被重新编译。