SharePoint列表匯入/匯出命令
在使用SharePoint的時候我們常常需要做這樣一個操作:把某個列表(或文件庫)從一個網站轉移到另一個網站上去。
比較常見的做法是,把這個列表存為模板檔案,然後再在新的網站位置建立一遍。但這種方法比較麻煩,步驟繁瑣,而且還受網站模板類型的限制。
SharePoint的物件模型裡提供了匯入匯出內容的功能,其粒度可達列表條目級。
stsadm命令中內建的“import/export”操作就是使用的這套API,但只能操作網站層級的內容。
為了能夠便捷的移動列表內容,或者對某個指定的列表進行歸檔,我開發了兩個stsadm命令的擴充操作。
舉例:我想把“http://site1”網站裡的列表“ABCList”匯出並匯入到“http://site2”網站裡,就可以用以下的命令完成:
stsadm -o exportlist -siteurl http://site1/ -listname ABCList -filename d:\abclist.cmp (匯出列表到一個檔案)
stsadm -o importlist -siteurl http://site2/ -filename d:\abclist.cmp (把一個檔案匯入到SharePoint網站裡,恢複成一個列表)
文法說明:
列表匯出操作(exportlist)
stsadm -o exportlist
-siteurl <SharePoint Site URL>
-listname <List Display Name>
-filename <Content Migration Package File Name>
[-overwrite]
[-nocontent]
注:-nocontent:只匯出列表結構,不包含列表內容。
列表匯入操作(importlist)
stsadm -o importlist
-siteurl <SharePoint Site URL>
-filename <Content Migration Package File Name>
[-retainobjectid]
[-originalinfo <all|none|systemaccount>]
注:-retainobjectid:匯入回匯出位置,可用在類似備份還原的情境下。
-originalinfo :"all"為保留一切原始資訊,即匯入的資料保持原修改時間和建立者資訊。"none"為不保留上述資訊。"systemaccount"為修改建立者資訊為系統帳戶。此選項預設為"all"。
此擴充命令以wsp方案套件的形式安裝部署,:
http://www.live-share.com/files/302411/xc_stsadmextension.zip.html
相關閱讀:
如何擴充stsadm命令
Dive in SharePoint Content Deployment/Migration API
如何製作SharePoint方案套件
SharePoint方案套件產生工具WSPBuilder
文章來源:http://blog.joycode.com/choral/archive/2008/01/30/114324.joy