我想获取当前运行的Extendscript的绝对文件夹路径。
例如,在php中使用__DIR__
(或)在nodejs中使用__dirname
。在Extendscript中的等效方法是什么。
我想获取当前运行的Extendscript的绝对文件夹路径。
例如,在php中使用__DIR__
(或)在nodejs中使用__dirname
。在Extendscript中的等效方法是什么。
我找到了,它是$.fileName
对于文件夹名称,它是(new File($.fileName)).parent
基本上:
var myPath = (app.activeDocument.fullName.parent.fsName).toString().replace(/\\/g, '/');
var myScriptPath = (File(app.activeScript.fullName).parent.fsName).toString().replace(/\\/g, '/');
alert('Document path is: ' + myPath + ' , and script path is: ' + myScriptPath);
mim,
File($.fileName).path;
目前看来似乎能胜任此工作
app.activeDocument.filePath
。app.activeDocument
不等于 app.activeScript
。 - Tobias Kienzlerapp.activeScript.parent
应该就可以了 - 需要注意的是,如果你使用一个Windows文件链接,你将得到实际脚本位置,而不是.lnk文件的位置。
/c/some%20folde%20with%spaces/some/folder
,但脚本喜欢这个样子。 - bgmCoder$.fileName
返回的是当前正在执行的脚本的绝对路径,而不是打开的文件(例如,在Illustrator中编辑的.ai文件)。 - caiosm1005$.fileName
可以正常工作,但如果您在某些Adobe应用程序(如Photoshop)的HTML面板的上下文中进行评估,则可能会返回垃圾(例如随机整数)。在这种情况下,如果您需要获取JSX的绝对路径,则可能需要使用CSInterface.prototype.getSystemPath()
。 - Davide Barranca