在Alfresco脚本中重命名文件

时间:2012-07-25 18:05:30

标签: javascript alfresco

我正在努力在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();

但似乎没有把我带到任何地方。

2 个答案:

答案 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();