Files
DP/PSMARK代码块/遍历图层.jsx

45 lines
1.3 KiB
JavaScript

// 确保Photoshop中有打开的文档
if (app.documents.length == 0) {
$.writeln("没有打开的文档!");
} else {
// 获取当前激活的文档
var doc = app.activeDocument;
// 指定要遍历的图层组名称
var targetLayerSetName = "组 1"; // 请替换为您的图层组名称
// 查找并遍历指定的图层组
var targetLayerSet = findLayerSet(doc, targetLayerSetName);
if (targetLayerSet != null) {
traverseLayers(targetLayerSet, "");
} else {
$.writeln("未找到名为 '" + targetLayerSetName + "' 的图层组!");
}
}
// 函数:查找指定名称的图层组
function findLayerSet(doc, name) {
for (var i = 0; i < doc.layerSets.length; i++) {
if (doc.layerSets[i].name == name) {
return doc.layerSets[i];
}
}
return null;
}
// 函数:遍历图层
function traverseLayers(layerSet, indent) {
// 遍历图层组中的所有图层
for (var i = 0; i < layerSet.layers.length; i++) {
var layer = layerSet.layers[i];
// 在控制台打印图层名称及其在图层组中的位置
$.writeln(indent + layer.name);
// 如果是图层组,递归遍历该组内的图层
if (layer.typename == "LayerSet") {
traverseLayers(layer, indent + " ");
}
}
}