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
では、フォルダー BBB がルートになるように、aaa、aaa1 アイテムを変更するにはどうすればよいでしょうか?