3

使用 Sharepoint 2013 Web 服务,我正在尝试“重命名”库中的根文件夹(根据我的定义,根文件夹是库中的第一个文件夹)。

如果新名称(目标)不存在,重命名很容易,我只需更改 BaseName:

var batch2 = new XmlDocument().CreateElement("Batch");
batch2.SetAttribute("OnError", "Continue");
batch2.InnerXml = "<Method ID=\"1\" Cmd=\"Update\"><Field Name=\"ID\">"+oldId+"</Field><Field Name=\"BaseName\">"+newName+"</Field></Method>";
client.UpdateListItems("MY LIBRARY", batch2);

但是,如果文件夹已经存在 - 显然没有任何事情发生。

我的库文件结构是这样的:

MY LIB
-AAA
    --aaa
        aaa.jpg
        aaa1.jpg
    --aaa1
        aaa11.jpg
-BBB
    --bbb
        bbb.jpg
        bbb1.jpg
    --bbb1
        bbb11.jpg

那么,如何更改 aaa、aaa1 项,使文件夹 BBB 成为它们的根目录?

4

1 回答 1

2

通过更改 BaseName 字段将子文件夹“移动”到其他文件夹。文档中没有提到这一点。

因此,要将子文件夹移动aaaBBB文件夹,您只需要以下查询: <Method ID=\"1\" Cmd=\"Update\"><Field Name=\"ID\">[ID of aaa folder]</Field><Field Name=\"BaseName\">BBB/aaa</Field></Method>

所有文件都相应地“移动”

上帝,我讨厌 Sharepoint。

于 2013-10-22T11:26:58.257 回答