我正在尝试像这样在我的系统中运行我的applescript。
String cmd = "osascript " + cmdpath + "ReadNeofile.scpt";
UnixComm(cmd);
我使用Java Swing来开发该系统,它是一个独立的系统。 代码工作正常,我可以运行 applescript 并获取输入。我最大的缺点是,要做到这一点,我需要将苹果脚本保存在客户端电脑中。有没有什么方法可以从 java 包调用 applescript,因为在客户端电脑中保存脚本并不安全。我担心如果我的客户不小心删除了脚本,我的整个系统就会被损坏。请指教。
最佳答案
我相信您可以将代码放入变量中(在本例中,它称为 codeVar)并转义所有换行符和引号,然后将代码更改为:
String cmd = "osascript " + cmdpath + "<( echo '" + codeVar + "')";
UnixComm(cmd);
<小时/>
另一个解决方案是让代码将 applescript 放入 /tmp
中的文件中,并在/tmp 中运行代码,希望客户端不会删除它。 (使用完毕后该代码会被计算机删除)
示例是:
PrintWriter out = new PrintWriter("/tmp/myapplescript.scpt");
out.print(codeVar);
String cmd = "osascript " + cmdpath + "/tmp/myapplescript.scpt";
UnixComm(cmd);
两种解决方案都要求您拥有 applescript,并转义返回字符(将其替换为 \n
),并且可能还需要双引号(如果有)(将其替换为 \“
)
关于java - 如何从 java 包运行 Applescript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18179376/