jsfl 替换同名素材

//功能 : 替换同名素材,并且添加同名AS链接

//选择文件夹
var folderURL = fl.browseForFolderURL("请选择文件夹.");
//主文件夹中的所有文件
var folderFiles = FLfile.listFolder(folderURL,"files");
//主文件夹中的所有小文件夹
var folderFolders = FLfile.listFolder(folderURL,"directories");
//库中所有项目(包括文件夹内的项目)
var itemArray = fl.getDocumentDOM().library.items;
//document
var doc = fl.getDocumentDOM();
//计数
var num = 0;
//循环主文件夹中的所有文件
var m;
for(m = 0; m < folderFiles.length; m++)
{
    var fileName = folderFiles[m];
    //文件的完整路径
    var filePath = folderURL + "/" + fileName;
    
    //循环库中所有项目~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~库
    for(var n= 0; n < itemArray.length; n++ )
    {
        var itemName = itemArray[n].name;
        var index = itemName.lastIndexOf("/");
        if(index == -1)
        {
            if(fileName == itemName)
            {
                //AS链接名
                var linkageName = itemArray[n].linkageClassName;
                //导入文件
                doc.importFile(filePath, true);
                doc.library.moveToFolder("", itemName, true);
                //库项目数组
                var arr = fl.getDocumentDOM().library.items;
                //循环项目数组,找到名字为fileName的文件
                for(var k = 0; k<arr.length; k++)
                {
                    if(arr[k].name == fileName)
                    {
                            //给名字为filename的文件添加AS链接
                            if (arr[k].linkageImportForRS == true) 
                               {
                                    arr[k].linkageImportForRS = false;
                                }
                               arr[k].linkageExportForAS = true;
                               arr[k].linkageExportForRS = false;
                               arr[k].linkageExportInFirstFrame = true;
                            arr[k].linkageClassName = linkageName;
                            //替换成功
                            num++;
                            fl.trace("替换成功,被替换的文件名和AS链接名字是:");
                            fl.trace(fileName);
                                   fl.trace(linkageName);
                    }
                }

            }
        }else
        {
            //库中文件夹内的文件名字
            itemName2 = itemName.substr(index + 1);
            if(fileName == itemName2)
            {
                //AS链接名
                var linkageName = itemArray[n].linkageClassName;
                //导入文件
                doc.importFile(filePath, true);
                var libFolderName = itemName.substring(0, index);
                doc.library.moveToFolder(libFolderName, itemName2, true);
                //库项目数组
                var arr2 = fl.getDocumentDOM().library.items;
                //循环项目数组,找到名字为itemName的文件
                for(var p = 0; p<arr2.length; p++)
                {
                    if(arr2[p].name == itemName)
                    {
                        //给名字为itemName的文件添加AS链接
                        if (arr2[p].linkageImportForRS == true) 
                           {
                                arr2[p].linkageImportForRS = false;
                            }
                           arr2[p].linkageExportForAS = true;
                           arr2[p].linkageExportForRS = false;
                           arr2[p].linkageExportInFirstFrame = true;
                        arr2[p].linkageClassName = linkageName;
                        //添加成功
                        num++;
                        fl.trace("替换成功,被替换的文件夹/文件名和AS链接名字是:");
                        fl.trace(itemName);
                        fl.trace(arr2[p].linkageClassName);
                    }
                }
            }
        }
        
    }
}
//共计替换了多少个
fl.trace("共计替换了多少个");
fl.trace(num);

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。