使用 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);
  	}
}

留言

這個網誌中的熱門文章

英國置產

使用免費工具將 Windows 作業系統實體虛擬化(P2V)