我正在努力在Alfresco中编写一个脚本来重命名文件扩展名。
该文件保存为filename.bin
。我正在使用内容规则来说明文件名等于*bin
时重命名为*pdf
。
我在脚本上苦苦挣扎,并希望得到任何帮助。
我的脚本如下:
// change the name of this document
document.properties.name = document.properties.name+".pdf";
// add a new property string
document.properties["cm:locale"] = mylocalenode;
// save the property modifications
document.save();
但似乎没有把我带到任何地方。
答案 0 :(得分:6)
编写的脚本将采用名为“filename.bin”的文档并将其重命名为“filename.bin.pdf”。然后它会设置一个名为“cm:locale”的属性,该属性等于mylocalenode的值,它似乎是 在此代码段中未定义。我不知道你对cm:locale的要求是什么,所以我将忽略它并给你一个脚本,它将搜索名为filename.bin的文件并更改其名称。
如果您希望迭代文件夹中的子项,您应该能够查看Alfresco JavaScript API以了解如何修改下面的代码段来执行此操作。
var results = search.luceneSearch("@cm\\:name:filename.bin");
var doc = results[0]; // assumes there is only one result, which may not be what you want
var oldName = doc.properties.name;
var newName = oldName.replace('.bin', '.pdf');
doc.properties.name = newName;
doc.save();
答案 1 :(得分:0)
在您使用content-rule
时添加更多内容。无需使用lucene / solr服务搜索文档。我们可以直接访问文档对象,它指的是正在执行规则的文档。
所以代码如下所示。
var oldName = document.properties.name;
var newName = oldName.replace('.bin', '.pdf');
document.properties.name = newName;
document.save();