我如何使用javascript文件夹对象

时间:2014-01-31 22:56:45

标签: javascript directory photoshop extendscript

我一直在使用文件夹对象作为用javascript编写的脚本的一部分,并用于photoshop cs6脚本。

我的问题是关于文件夹对象

cs6 javascript referance文档说明了关于文件夹对象的以下内容

  

“ExtendScript将JavaScript类文件和文件夹定义为   以独立于平台的方式封装文件系统引用;   请参阅第32页的“Adobe Photoshop CS6中的JavaScript支持”   引用这些类的详细信息,请参阅JavaScript工具指南。“

(ExtendScript是Adobe的JavaScript扩展实现)

我能够通过使用类似于Folder.setDialogue的东西设置文件夹目录(代码在我的另一台PC上,所以我不记得确切的方法是什么 但这会提示用户选择一个文件夹。

我想将文件夹位置硬编码到脚本中

文档说文件夹对象接受文件夹作为构造函数,但我不能使这个工作

我尝试了类似

的代码

文件夹(c:/某个文件夹)并尝试用十六进制值替换无文本字符,但这并没有使用以太。

我如何让它发挥作用?

2 个答案:

答案 0 :(得分:1)

类似的东西:

var myfolder= Folder("path/to/folder");
if(myfolder.exists) alert("got it");

应该有效。查看扩展脚本工具包和帮助

下的对象模型查看器

答案 1 :(得分:0)

我也发现extendScript的这一部分很棘手,而且文档不足。

请注意,extendScript可以将路径表示为URI(转义所有非ascii!)和特定于系统的路径(Win / Mac-每个路径都有一组不同的“禁止”字符)。

文件对象具有两个属性:arr.push(a as A); (arr as B[]).push(a as B); (arr as B[]).push(a as A); (一个URI)和fsName(一个文件系统特定的路径)。

认为,您必须将URI传递给构造函数,而不是Windows / Mac路径。因此,对于:(Windows)fullName使用D:\foo\bar

或者您可以将打开的文档文件(如果保存)作为起点。这在Illustrator中对我有用:

/d/foo/bar

祝你好运!