如何使用 applescript 将参数传递给 javascript 文件

问题描述 投票:0回答:1

我正在尝试使用 AppleScript 将参数发送到 JavaScript 文件。

但它需要应用程序支持才能运行“do javascript”条件。

我在网上找到了代码,但我不知道如何使用代码。

请帮我渡过难关

这里是在线代码:

执行 shell 脚本“/usr/bin/osascript -l JavaScript /path/to/your.js arg1 arg2 arg3”

我的javascript文件路径:~/desktop/A/testingFile.jsx

参数{“A”、“B”、“C”}(用于测试目的)

谢谢

javascript applescript
1个回答
0
投票

JavaScript

这里是一个示例 JXA(用于自动化的 JavaScript)脚本文件,它将采用三个参数,在命令行上显示它们,然后将它们反向返回。

//pass arguments to a JXA file
//return them reversed

function run(argv) {
    if (argv.length < 3) {
        console.log("Three arguments are required.");
        return;
    }

    console.log(argv.length, "arguments provided.");

    argumentOne = argv[0];
    argumentTwo = argv[1];
    argumentThree = argv[2];

    console.log("First argument is", argumentOne);
    console.log("Second argument is", argumentTwo);
    console.log("Third argument is", argumentThree);

    return argv.reverse();
}

您可以在命令行(即在终端中)使用类似的东西运行此脚本

osascript -l JavaScript ~/Desktop/A/testingFile.jsx One Two Four

命令行上的结果将是:

提供了 3 个参数。
第一个参数是 One
第二个参数是 Two
第三个参数是四个
四、二、一

AppleScript

要从 AppleScript 使用它,您可以打开脚本编辑器并使用如下所示的代码:

set scriptResults to do shell script "osascript -l JavaScript ~/Desktop/A/testingFile.jsx One Two Four"
display dialog scriptResults

对话框(和结果框,如果打开的话)将显示“一二四”相反,作为“四,二,一。”

授予磁盘访问权限

在脚本编辑器中运行时,您需要为脚本编辑器提供“全盘访问”或对特定“文件和文件夹”的访问权限。要查看授予访问权限的应用程序列表,请转到您的安全和隐私首选项并选择隐私面板。在访问类型列表中,滚动到(例如)文件和文件夹并选择它。将显示提供访问权限的应用程序列表,以及他们有权访问的文件和文件夹。

您可以点击锁定添加应用程序。例如,如果脚本编辑器不在该列表中,您可以“单击锁定进行更改”,然后将脚本编辑器拖到该列表中。

在此示例中,脚本编辑器可以访问可移动卷、我的文档文件夹和我的桌面文件夹。

如果您将脚本保存为应用程序,或者如果它在另一个应用程序的支持下运行(例如通过脚本菜单),则需要为该应用程序提供适当的访问权限。授予 AppleScript 应用程序完整磁盘访问权限通常比文件和文件夹更容易,但这可能取决于您使用的操作系统版本。

© www.soinside.com 2019 - 2024. All rights reserved.