使用 C# 複製 Sharepoint 2010 Document Library 內所有檔案至另一個 Library
使用Sharepoint時,當某個表單生成時,常需要同時產生範本文件及相關資料夾,本範例程式碼可將儲存範本文件的Document Library中所有檔案及子資料夾內容,複製至新的目的資料夾。
由SPWeb中取得Folder的方式
spWeb.Lists.TryGetList("ListName").RootFolder; //將此List視為Folder
//使用遞迴複製所有子目錄與檔案
//sFolder 來源資料夾, dFolder 目標資料夾,將sFolder的所有內容複製至dFolder中
private void CopyFolders(SPFolder sFolder, SPFolder dFolder)
{
//copy files
foreach (SPFile cunFile in sFolder.Files)
cunFile.CopyTo(string.Format("{0:s}/{1:s}", dFolder.Url, cunFile.Name), true);
//copy folders
foreach (SPFolder subFolder in sFolder.SubFolders)
{
SPFolder subDestFolder = destFolderRoot.SubFolders.Add(string.Format("{0:s}/{1:s}", destFolderRoot, subFolder.Name));
subDestFolder.Update();
CopyFolders(subFolder, subDestFolder);
}
}
留言
張貼留言