..
如何删除 Zotero 中的 extra 字段
本文方法来源于 Zotero 论坛
原帖地址:https://forums.zotero.org/discussion/87190/sql-script-to-clear-contents-of-extra-fields
为什么要删除?
Zotero 的各种插件经常在 extra 字段里面添加信息,而删除插件并不会清除这些信息。久而久之 extra 字段里面的内容就会越积越多,影响引用。
如何删除
- 打开
Zotero - Tools - Developer - Run JavaScript
- 运行如下代码
var fieldName = "extra";
var newValue = "";
var fieldID = Zotero.ItemFields.getID(fieldName);
var s = new Zotero.Search();
s.libraryID = ZoteroPane.getSelectedLibraryID();
var ids = await s.search();
if (!ids.length) {
return "No items found";
}
await Zotero.DB.executeTransaction(async function () {
for (let id of ids) {
let item = await Zotero.Items.getAsync(id);
let mappedFieldID = Zotero.ItemFields.getFieldIDFromTypeAndBase(item.itemTypeID, fieldName);
item.setField(mappedFieldID ? mappedFieldID : fieldID, newValue);
await item.save();
}
});
return ids.length + " item(s) updated";
- 等待完成即可!
请注意 extra 字段一旦删除则无法恢复,操作前请务必备份或确认已经不存在自己需要的信息再执行删除。