加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

使用jsfl批量重命名flash库项目

发布时间:2020-12-15 07:26:36 所属栏目:百科 来源:网络整理
导读:版本flash cs5 好的,所以我知道重命名所有选定的库项目的通用代码 var items = fl.getDocumentDOM().library.getSelectedItems();for (var i=0; iitems.length; i++){var item = items[i];item.name = "ABC_"+item.name;} 但如果库项目在文件夹中,这还不够好
版本flash cs5

好的,所以我知道重命名所有选定的库项目的通用代码

var items = fl.getDocumentDOM().library.getSelectedItems();
for (var i=0; i<items.length; i++){
var item = items[i];
item.name = "ABC_"+item.name;
}

但如果库项目在文件夹中,这还不够好…因为item.name返回完整路径,但item.name设置名称. o.O正如别人在这里指出的那样,http://forums.adobe.com/message/107718

>所以当我尝试将Level1重命名为ABC_Level1时
>如果Level1的文件夹路径是LIBRARY / FolderA / FolderB / Level1
>我得到了这个
> ABC_FolderA-FolderB-Level1

我可能会编写某种类似的字符串解析器,

item.name =“ABC_”item.name.substr(item.name.lastIndexOf(“ – ”),99)

但这真的很难看,如果库项目已经包含“ – ”,那就行不通了.例如“Level-1”

所以我想我想要的是一种不同的方式来访问返回名称而不是路径的名称

解决方法

这很棘手,因为当你得到名字时它就是完整的路径,但是当你设置名称时,它只是项目名称(而不是路径).在连接之前,您必须分隔名称和文件夹.因此,没有“干净”的方法来做到这一点,尽管编写一个函数可能会使它更具可读性:

function getItemName(item) {
   return item.name.split("/").pop();
}

然后设置项目的名称:

item.name = "ABC_" + getItemName(item);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读