使用 WebDav 和 RoboCopy 在文档库之间复制文档

Using WebDav & RoboCopy to copy docs between Document Libraries

我正在尝试使用调用 WebDav 的 RoboCopy 作业自动执行在 SharePoint 2013 文档库之间复制文档的过程。

只有在内网上进行了第一次手动连接操作时,批处理才有效。只要用户的会话处于活动状态,它就可以工作。

这是命令我是运行:

robocopy "Source" "Destination" "Log File" /MOV

这些是我收到的错误消息:

-Exception Message :Access Denied. Before opening files in this location, you must first add the web site to your trusted sites list, browse to the web site, and select the option to login automatically.

  • StackTrace : at system.IO.__Error.WinIOError(Int32, errorCode, String maybeFullPath)
  • at system.IO.Directory.InternalCreateDirectory(String fullPath, String Path, Object dirSecurityObj, Boolean checkHost)
  • at system.IO.Directory.InternalCreateDirectoryHelper(String Path, Boolean checkHost)
  • at system.IO.Directory.CreateDirectory(String Path)**

知道如何做到这一点吗?

我在 Explorer 和 Robocopy 中使用 WebDav 通过 Internet 映射网络驱动器时遇到了一些更棘手的问题:它可以在用户会话启动并输入 username/password 后工作,但它不会保存即使被要求输入密码,也会在下次登录时停止工作。根本原因有两个:

1) 根据 Windows 的设计,您无法将 webdav 凭据保存到非本地站点(参见此 MS KB

2) 您需要将 URL 添加到本地站点列表。

作为尝试修复,试试这个:

1) 在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters 处创建一个名为 AuthForwardServerList

的多字符串值

2) 添加您尝试连接的 URL - 使用 SharePoint,这可能比我的情况更难理解,但作为示例,这里是字符串我需要输入:

https://*.[网站].com

http://*.[网站].com

*.[网站].com

可选:在 WebClient 参数中,您可能需要调整 FileSizeLimitInByte(以在超时前启用更长的下载时间)和 [FileAttributesLimitInBytes][Can't link 超过两个 URL,但它是 KB912152](支持文件夹中的大量文件)- 我将我的设置为:

"FileSizeLimitInBytes"=dword:80000000(十六进制)

"FileAttributesLimitInBytes"=双字:00989680(十六进制)

3) 打开 Internet Explorer,依次单击“工具”、“Internet 选项”

4) 单击“安全”选项卡,然后依次单击“本地 Internet”和“站点”

5) 在本地互联网设置中点击高级

6) 输入站点的完整 https URL,然后单击“添加”,然后单击“关闭”

7) 单击“确定”,单击“确定”,然后关闭 Internet Explorer

8) 重新启动 WebClient 服务

9) 打开 Windows 资源管理器,然后单击映射网络驱动器

10) 选择一个盘符,输入文件夹URL,勾选登录时重新连接,然后勾选使用不同的凭据连接。单击确定。

11) 输入用户名和密码,勾选记住我的凭据框,然后单击确定

希望其中一些有所帮助。