使用JXA(Mac上用于自动化的Javascript)在Finder中显示
我正在将多年来制作的一些自动机工作流转换为JXA,我在一些基本功能方面遇到了一些问题。首先,我只是尝试从特定路径在finder中打开一个文件夹。我在finder中打开了一个位置,但它似乎对文件夹不起作用 在其他Javascript实现中,我习惯于这样做:使用JXA(Mac上用于自动化的Javascript)在Finder中显示,javascript,macos,automation,javascript-automation,Javascript,Macos,Automation,Javascript Automation,我正在将多年来制作的一些自动机工作流转换为JXA,我在一些基本功能方面遇到了一些问题。首先,我只是尝试从特定路径在finder中打开一个文件夹。我在finder中打开了一个位置,但它似乎对文件夹不起作用 在其他Javascript实现中,我习惯于这样做: var f = new File("path/to/my/file/or/folder"); f.execute(); var run = function(){ var finder = Application("Finder");
var f = new File("path/to/my/file/or/folder");
f.execute();
var run = function(){
var finder = Application("Finder");
finder.includeStandardAdditions = true;
return finder.startupDisk.folders["Users"].open();
}
它在JXA中似乎不起作用。我可以使用如下方式在树上来回导航:
var f = new File("path/to/my/file/or/folder");
f.execute();
var run = function(){
var finder = Application("Finder");
finder.includeStandardAdditions = true;
return finder.startupDisk.folders["Users"].open();
}
但这看起来很乏味,我不知道如何让它充满活力。有没有一种方法可以使用POSIX路径并在该位置打开finder
谢谢你的帮助 您不需要变量a和sa。“use strict”的作用是什么?标准添加参考仅适用于pathTo备选方案。除其他外,使用strict可以提供更多信息的错误消息。您不需要变量a和sa。“use strict”的作用是什么?标准添加参考仅适用于pathTo备选方案。除其他外,使用strict可以提供更多信息的错误消息集。
(function () {
'use strict';
var a = Application.currentApplication(),
sa = (a.includeStandardAdditions = true, a),
fi = Application('Finder');
var strPath = $('~/Code/')
.stringByStandardizingPath.js
fi.reveal(Path(strPath));
// OR e.g.
//fi.reveal(sa.pathTo('downloads folder'));
fi.activate();
})();