古树悬叶的博客-Photoshop 批量文件图层重命名(支持嵌套图层组图层重命名)

About

<#TEMPLATE_INCLUDE_NINEPAGE_ABOUTME#>
  • Aug

    28

    Photoshop 批量文件图层重命名(支持嵌套图层组图层重命名)

    • 0 Comments
    • Flash Platform
    • 发布:古树
    • 引用:0
    • 浏览:

    以下脚本可以在 Adobe CS5 以上版的 ExtendScript Toolkit 中运行(低版本的 PS 未作测试,本人使用编码与测试环境是 PS CS6,以下脚本全部参考 Photoshop JS CS5 API 手册)。如果安装的是绿色版 PS CS5 以上版本,可以将以下代码全部复制,保存到一个 *.txt 文本文件,然后将 .txt 后缀名改为 .js 或 .jsx。然后启动 PS CS5 或 CS6,选择菜单“文件——脚本——浏览”,然后选中脚本文件运行即可。

    备注:其中变量名 mySite 引用的字符串 “www.zinewow.com” 就是需要更改后显示的图层名称。

    #target photoshop
    app.bringToFront();

    var inputFolder = Folder.selectDialog("先选择一个输入文件夹");
    var fileList = inputFolder.getFiles();

    var mySite = www.zinewow.com;

    for (var i = 0; i < fileList.length; i++)
    {
        if (fileList[i] instanceof File && !fileList[i].hidden && checkPSDFile(fileList[i]))
        {
            open(fileList[i]);

            if (documents.length == 0)
            {
                alert("没有可处理的文档");
            }
            else
            {
                var layers = activeDocument.layers;
                renameLayers(layers);
                activeDocument.close(SaveOptions.SAVECHANGES);//保存并关闭源文件
            }
        }
    }

    function checkPSDFile(inFileName)
    {
        var lastDot = inFileName.toString().lastIndexOf(".");
        if (lastDot == -1)
        {
            return false;
        }
        var extension = inFileName.toString().substr(lastDot + 1);
        extension = extension.toLowerCase();

        if (extension == "psd")
        {
            return true;
        }
        return false;
    }

    function renameLayers(layers)
    {
        for (var i = 0; i < layers.length; i++)
        {
            var layer = layers[i];
            layer.name = mySite;
            if (layer.typename == 'LayerSet')
            {
                renameLayers(layer.layers);
            }
        }
    }
    • Tags:
    • 2014 / 8 / 28
    相关文章:
      Post Comment.

      发表评论