首页 > 解决方案 > Photoshop脚本在文件后重命名可见图层

问题描述

你能帮我用一个 Photoshop 脚本在文件名之后重命名可见图层吗?

我有大量的 PS 文件,我必须这样做。

谢谢,我很感激。

标签: photoshoplayer

解决方案


像这样的例子:

function selectByID(id)
{
    var desc = new ActionDescriptor();
    var ref = new ActionReference();
    ref.putIdentifier(charIDToTypeID('Lyr '), id);
    desc.putReference(charIDToTypeID('null'), ref);
    executeAction(charIDToTypeID('slct'), desc, DialogModes.NO);
};

function traverseAllLayers(n)
{
    try
    {
        activeDocument.backgroundLayer;
        var layers = 0
    }
    catch (e)
    {
        var layers = 1;
    };
    while (true)
    {
        ref = new ActionReference();
        ref.putIndex(charIDToTypeID('Lyr '), layers);
        try
        {
            var desc = executeActionGet(ref);
        }
        catch (err)
        {
            break;
        }
        if (desc.getBoolean(charIDToTypeID("Vsbl")) && desc.getInteger(stringIDToTypeID("layerKind")) != 13) {
            var myId = desc.getInteger(stringIDToTypeID( 'layerID' ));
            selectByID(myId);
            activeDocument.activeLayer.name = activeDocument.name
        }
        layers++;
    }

};

app.activeDocument.suspendHistory("temp", "traverseAllLayers()");

推荐阅读