首先让我告诉你,我只有基本的编程经验,但我几乎是MaxScript(Autodesk 3ds max脚本语言)的专业人士。现在我开始为Photoshop编写一个脚本,主要执行以下操作:
1)以某种方式操纵一个开放的PSD文件
2)将该文档保存为相对于PSD文件位置的特定文件夹中的TIFF。
因此,假设PSD文件位于文件夹 c / project / postproduction / working / workingSubfolder
TIFF文件应该位于文件夹 c / project / postproduction / export / exportSubfolder
重要的是:
我现在需要的是一种从PSD文件向上遍历层次结构的方法,直到找到名为“export”的文件夹。然后进入“export”文件夹,在那里复制“working”文件夹内的结构,如果那个结构还不存在,然后保存与那里的PSD文件同名的TIF文件。
我在互联网中发现了一个关于递归向下遍历文件夹树的数据,但没有任何向上。也许我错了?对于任何体面的程序员来说,我觉得这是一个非常简单的问题。
答案 0 :(得分:0)
这样的事情应该让你开始......基本上它只是通过一些战略性替换来计算当前文档路径的输出路径。如果您确实需要更多地使用文件系统对象,请参阅Photoshop安装目录中的“Javascript工具指南”。
var workingPath = app.activeDocument.path.toString();
var exportPath = workingPath.replace('working', 'export');
var filename = app.activeDocument.name.toString().replace('.psd', '.tif');
var folder = new Folder(exportPath);
if (!folder.exists)
folder.create();
var options = new TiffSaveOptions;
//set any options you need to here....
var exportFile = new File(exportPath + '/' + filename )
app.activeDocument.saveAs(exportFile, options)