版本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
我可能会编写类似这样的字符串解析器,
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);
关于flash - 使用 jsfl 批量重命名 Flash 库项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5070229/