我要实现的任务非常简单:
我需要在指定的图层集(组)中获取所有图层(一级)的列表,并将此列表写入文件。
代码也很简单(并且有效):
function indexCurrent(document){
var log = new File(indexLocation+document.name+'.js');
alert("Collecting data");
var images = document.layerSets.getByName("Images").layers;
var imagesLength = images.length;
var layers = [];
alert("Iterating " + imagesLength + " layers");
for(var jj = 0, jL = imagesLength; jj < jL; jj++){
layers.push('\t\t\'' + images[jj].name + '\'');
}
alert("Writing " + layers.length + " layers");
log.open('w');
log.write('\n\t\'' + document.name + '\': [\n' );
log.write(layers.join(",\n"));
log.write('\n\t]\n');
log.close();
}
此代码有效,但对于 150 多个层,“迭代”和“写入”行之间需要数小时。
我在这里阅读了所有相关问题,但这没有帮助。
我确信对于这样一个简单的任务应该有更有效的方法。
我在 Windows 7 上运行 Photoshop CS6。
谢谢。