使用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成为其根目录?
答案 0 :(得分:2)
通过更改BaseName字段来“移动”子文件夹到其他文件夹。在文档中没有说到这一点。
因此,要将aaa
子文件夹移动到BBB
文件夹,您只需要此查询:
<Method ID=\"1\" Cmd=\"Update\"><Field Name=\"ID\">[ID of aaa folder]</Field><Field Name=\"BaseName\">BBB/aaa</Field></Method>
所有文件都相应地“移动”
上帝,我讨厌Sharepoint。