2

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

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

4

2 回答 2

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();
于 2012-07-25T22:52:33.363 回答
0

在此添加更多,当您使用时content-rule。无需使用 lucene/solr 服务搜索文档。我们可以直接访问文档对象,它是指正在执行您的规则的文档。

所以代码将如下所示。

var oldName = document.properties.name;
var newName = oldName.replace('.bin', '.pdf');
document.properties.name = newName;
document.save();
于 2015-05-28T18:56:56.260 回答