如何在JavaScript for Automation中获取当前脚本文件夹的POSIX路径?

aaronk6

在AppleScript中,可以使用此行获取当前脚本所在的文件夹的POSIX路径:

POSIX path of ((path to me as text) & "::")

结果示例: /Users/aaron/Git/test/

什么是JavaScript等效项?

绿色环保

这是一种方法[注意:我不再推荐这种方法。见编辑,如下:

app = Application.currentApplication();
app.includeStandardAdditions = true;
path = app.pathTo(this);
app.doShellScript('dirname \'' + path + '\'') + '/';

请注意path在doShellScript中使用单引号引起来的空格等路径

编辑由于使用了不安全的路径引用方法而被@foo打了手之后,我想用以下方法修改此答案:

ObjC.import("Cocoa");
app = Application.currentApplication();
app.includeStandardAdditions = true;
thePath = app.pathTo(this);

thePathStr = $.NSString.alloc.init;
thePathStr = $.NSString.alloc.initWithUTF8String(thePath);
thePathStrDir = (thePathStr.stringByDeletingLastPathComponent);

thePathStrDir.js + "/";

当然,如果要使用此字符串,则仍然必须处理它是否包含可疑字符。但是至少在现阶段这不是问题。这还演示了JXA用户可用的一些概念,例如使用ObjC桥以及.js将字符串“强制”转换为JavaScript字符串(来自NSString)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何获取GNU Octave中的当前脚本路径?

如何获取当前脚本的路径?

如何在Fish Shell中检索当前脚本的路径

如何在Python中获取当前脚本的代码?

如何从批处理脚本的当前路径中获取更高级别的文件夹的名称?

如何使用Node.js获取当前脚本的路径?

如何在Android中获取res文件夹的路径

如何在Android中浏览文件夹并获取所选文件夹的路径

如何在当前文件路径中打开文件夹中包含的文件

如何在 Gradle 构建脚本中获取 android 输出文件夹(绝对路径)

如何使用当前Python脚本文件的名称将文件保存到文件夹?

如何获取当前脚本的名称?

如何在java中获取某个路径中的文件和文件夹列表?

如何在类路径中为Ant脚本添加一个文件夹?

如何在Android中获取资产文件夹的文件路径

如何在 Android 10 及更高版本中获取共享存储文件夹的文件路径?

如何在appendchild方法javascript或reactjs中的文件夹路径中使用svg?

如何从文本文件中给定的路径创建文件夹和文件

如何在Yii2中获取JuiAsset的主题文件夹路径?

如何在VBScript中获取某个IIS应用程序/站点的日志文件夹路径

如何在Perfect 2.0中获取项目文件夹的根目录路径?

如何在Spring MVC中获取资源文件夹的正确路径?

如何在macOS中获取用户专用文件夹的路径?

如何使用javascript获取基本Symfony文件夹的路径?

如何获取内部文件夹的路径?

如何在C#中获取程序的当前文件夹名称并将zip文件解压缩到当前文件夹?

如何获取当前用户的我的应用程序设置文件夹路径?

如何在Powershell中删除当前文件夹?

如何使用Apple脚本获取文件夹中最新创建的文件的路径?