SharePoint伺服器端物件遷移資料夾
最近有個需求,寫個定時遷移資料夾的小程式,因為計時器任務比較繁瑣,所以選擇了控制檯程式。然後,用windows的計劃任務執行,也許,會有廣大朋友需要類似的功能,簡單的分享一下程式碼邏輯,功能非常簡單,希望大家不要見笑。
//提升許可權程式碼
SPSecurity.RunWithElevatedPrivileges(delegate() { //提升許可權的核心程式碼 });
//建立網站集和網站物件
using (SPSite site = new SPSite(siteUrl)) { using (SPWeb web = site.OpenWeb(webUrl)) { } }
//允許非安全更新,否則客戶端呼叫可能回報不安全更新操作的錯誤
web.AllowUnsafeUpdates = true; web.AllowUnsafeUpdates = false;
//獲取文件庫和資料夾
SPList sDoclib = web.Lists[sourceDoclib]; SPList tDoclib = web.Lists[transferDoclib]; SPListItemCollection items = sDoclib.Folders;
//遍歷資料夾,並遷移到目標文件庫
foreach (SPListItem item in items) { SPFileCollection files = item.Folder.Files; item.Folder.MoveTo(web.Url + "/" + tDoclib.RootFolder.Url.ToString() + "/" + item.Folder.Name); }
特別要說的是MoveTo的方法,如果要保留源文件庫的內容,只是複製也可以用CopyTo。這兩個方法既可以對SPFolder使用,也可以對SPFile使用,引數是目標的地址。記住,引數一定是地址,比如原始檔是http://url/sourceLib/file.txt,目標檔案就需要是http://url/transferLib/file.txt。如果是資料夾,目標地址就可以是http://url/transferFolder就可以了。
整個功能很簡單,其間注意事項有:
- Net Framework的版本要和SharePoint版本相對應
- 控制檯程式要以64位程式為目標平臺
- 提升許可權進行操作,以防止操作沒有許可權
- 允許不安全更新,更新完畢記得關閉這個設定
- MoveTo和CopyTo方法的使用
當然,除此之外,必要的異常處理和日誌記錄也是必須的,大家按照需求新增相關功能就可以了。我這裡就簡單的把日誌記錄在記事本中,方便檢視了。
using System.IO;
//寫入日誌程式碼,日誌路徑和生成的.exe檔案在同一位置
StreamWriter sw = new StreamWriter("log.txt"); sw.WriteLine("日誌內容"); sw.Flush(); sw.Close();
以上便是整個功能的詳細介紹,希望能夠為有需要的人帶來一定的幫助。當然,如果高手飄過歡迎指點,不喜勿噴,多謝!
相關文章
- BIEE 目錄遷移(資料夾)方式
- 伺服器資料遷移的方法-硬體不同如何遷移資料伺服器
- 資料庫物件遷移表空間資料庫物件
- 1.1資料庫物件結構遷移方法資料庫物件
- 遷移資料.
- 【遷移】使用rman遷移資料庫資料庫
- 關於伺服器資料遷移,介紹在伺服器資料遷移計劃中的7個步驟伺服器
- Elasticsearch 基於物件儲存使用快照資料遷移Elasticsearch物件
- SharePoint REST API - 資料夾和檔案RESTAPI
- 【資料遷移】使用傳輸表空間遷移資料
- win10使用者資料夾遷移操作方法 win10怎麼移動使用者資料夾位置Win10
- Kafka資料遷移Kafka
- 資料庫遷移資料庫
- redis資料遷移Redis
- 轉資料遷移
- ORACLE 資料遷移Oracle
- DXWB 資料遷移
- 資料的遷移
- Harbor資料遷移
- 【資料遷移】RMAN遷移資料庫到ASM(三)遷移onlinelog等到ASM資料庫ASM
- 快速實現本地資料備份與FTP遠端資料遷移FTP
- 資料遷移(1)——通過資料泵表結構批量遷移
- gitlab資料遷移Gitlab
- 資料庫遷移 :理解資料庫
- Mysql資料遷移方法MySql
- Fastdfs資料遷移方案AST
- 【Redis】 redis資料遷移Redis
- 【Hive】hive資料遷移Hive
- laravel資料庫遷移Laravel資料庫
- Odoo遷移資料庫Odoo資料庫
- exp,imp 遷移資料
- NAS資料遷移初探
- redis資料庫遷移Redis資料庫
- imp/exp資料遷移
- Cacti 遷移資料庫資料庫
- 資料檔案遷移
- 資料遷移指令碼指令碼
- 資料庫遷移方案資料庫