公司里有一臺SPS2003服務器R370(10.1.2.3)和一臺MOSS2007服務器R380(10.2.2.7),我想把SPS03上的列表遷移到MOSS07上。
遷移方法:
1)列表內容通過,SPS2003上“導出”,然后MOSS2007上,“導入電子表格”方式創建列表 的方法基本上把數據轉移過去
2)對于列表的附件轉移就有問題,SPS服務器和MOSS服務器都可以通過共享方式進入,
http://R370/itoa
和
http://R380/itoa
分別可以用
\\R370\itoa\
和
\\R380\itoa\
方式訪問,
\\R370\itoa\lists\list1\Attachments\
下的文件就是列表的附件。其下每個文件夾都是以數字命名,發現它對應的列表記錄的ID,所以在導出列表的時候最好先做一個“遷移視圖”,此視圖根據“ID”升序排列,另外,這個列表記錄必需沒有刪除過,不然后果我想你也想得到。彌補的辦法就是——丟失的自己去補全,導入后再刪除。(所以說這是個爛方法,當然爛的還不止這些,用這個方法導入的所有字段屬性可能會有變化,導入后需要自己重整一下,對于原來是“用戶或者組”的類型字段,基本上只能轉成“單行文本”類型,其次列表記錄的時間全部丟失,創建人和修改者信息不能和新共用。當然,你可以選擇導入后添加修改。我之所以用這個方法,是因為我不在乎以上信息的丟失,幸好這幾個列表都只是有增無減的,謝謝創建這個表的人的全家,謝謝!)
事情并沒有我想的這么順利,原以為只要打開兩個共享,復制過去就行了,
但是我復制這下面所有文件到 \\R380\itoa\lists\list1\Attachments\ 下的時候不能復制,提示:“無法讀取源文件或磁盤。”。但是我在 \\R380\itoa\lists\list1\Attachments\ 下可以創建目錄,然后再把文件復制進去是可以的。問題是文件夾太多了,我總不能一個個創建一個個復制吧。
通過cmd窗口進入 \\R380\itoa\lists\list1\Attachments\ 發現mkdir 如果是數字名的文件夾就不能創建,只能通過改名的方式,創建數字為名字的文件夾。于是寫了個腳本。但是還是出現問題,發現腳本跑完,目錄結構是出來了,但是文件復制不過去。也就是xcopy用不了。
腳本很簡單,addfile.bat:
echo on
IF (%1)==() GOTO NoParams
IF (%2)==() GOTO NoParams
rem u source
rem v dest
net use u: %1
net use v: %2
dir u: > dir.txt
for /F "skip=6 tokens=4" %%a in (dir.txt) do call addfile2.bat %%a v:\
xcopy u:\ v:\ /e/s
:NoParams
以下是addfile2.bat的內容
if (%1)==() goto bottom
if (%1)==(字節) goto bottom
if (%1)==(可用字節) goto bottom
mkdir %2\test
move %2\test %2\%1
:bottom
?
?
以下是腳本跑的結果:
D:\開發\Script\new>addfile.bat
\\10.1.2.3\scxt\Lists\List2\Attachments\
\\10.2.2
.7\itoa\Lists\list25\Attachments\
D:\開發\Script\new>IF (
\\10.2.2.7\itoa\Lists\list25\Attachments\
) == () GOTO
No
arams
D:\開發\Script\new>rem u source
D:\開發\Script\new>rem v dest
D:\開發\Script\new>net use u:
\\10.1.2.3\scxt\Lists\List2\Attachments\
命令成功完成。
D:\開發\Script\new>net use v:
\\10.2.2.7\itoa\Lists\list25\Attachments\
命令成功完成。
D:\開發\Script\new>dir u:? 1>dir.txt
D:\開發\Script\new>for /F "skip=6 tokens=4" %a in (dir.txt) do call
addfile2.ba
?%a v:\
D:\開發\Script\new>call addfile2.bat 164 v:\
D:\開發\Script\new>if (164) == () goto bottom
D:\開發\Script\new>if (164) == (字節) goto bottom
D:\開發\Script\new>if (164) == (可用字節) goto bottom
D:\開發\Script\new>mkdir v:\\test
D:\開發\Script\new>move v:\\test v:\\164
移動了 ??????? 1 個目錄。
D:\開發\Script\new>call addfile2.bat 字節 v:\
D:\開發\Script\new>if (字節) == () goto bottom
D:\開發\Script\new>if (字節) == (字節) goto bottom
D:\開發\Script\new>call addfile2.bat 可用字節 v:\
D:\開發\Script\new>if (可用字節) == () goto bottom
D:\開發\Script\new>if (可用字節) == (字節) goto bottom
D:\開發\Script\new>if (可用字節) == (可用字節) goto bottom
D:\開發\Script\new>xcopy u:\ v:\ /e/s
文件創建錯誤 - 目錄不是空的。
?
還發現一個問題在
\\R370\itoa\lists\xxx\Attachments\
下建不了以數字為名的目錄,改名也不行奇怪。
大家有沒有相似的經歷?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
