zoukankan      html  css  js  c++  java
  • 我所用的SPS2003中带附件的列表向MOSS2007迁移的烂方法和一些问题

    公司里有一台SPS2003服务器R370(10.1.2.3)和一台MOSS2007服务器R380(10.2.2.7),我想把SPS03上的列表迁移到MOSS07上。

    迁移方法:
    1)列表内容通过,SPS2003上“导出”,然后MOSS2007上,“导入电子表格”方式创建列表 的方法基本上把数据转移过去
    2)对于列表的附件转移就有问题,SPS服务器和MOSS服务器都可以通过共享方式进入,http://R370/itoahttp://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\下建不了以数字为名的目录,改名也不行奇怪。

    大家有没有相似的经历?

  • 相关阅读:
    点击子窗体给父窗体上的对象赋值
    框架使用及规范参考
    像Google日历一样的日程管理
    TreeView 和 Menu 的用法
    甘特图-svg版 支持客户端事件
    js获取DropDownList的选择项
    GridView,Repeater分页控件:WebPager(开源)
    TextBox 禁止客户端输入 前台通过JS赋值 并在后台获取
    对象实体 参考标准
    以编程方式控制ScriptManager
  • 原文地址:https://www.cnblogs.com/redroot/p/1068727.html
Copyright © 2011-2022 走看看