【发布时间】:2016-08-14 20:58:33
【问题描述】:
我对 robocopy 的工作方式有点困惑。
我在网络驱动器上有一个文件,例如 \myserver\shared\dir1 是 150 MB。
我有一个 powershell 脚本,每分钟检查一次 \myserver\shared\dir2 (dir2,而不是 dir1)。如果文件存在,它会将其复制到同一本地计算机的 c:\mydir\files
因此,其他计算机上的用户将从 \myserver\shared\dir1 文件夹中复制文件并将其粘贴到 \myserver\shared\dir2 文件夹中。
用户将获得一个小对话框/信息窗口,告诉他复制完成需要 4 分钟。 4 分钟的原因是用户使用较慢的网络并通过 VPN,因此复制过程对他来说较慢。
一分钟后,通过任务调度程序,将调用 powershell,它将在 \myserver\shared\dir2 下看到一个文件,并使用 robocopy 将其复制到 c:\mydir\files 下的本地计算机。由于网络区域和本地区域,此复制过程非常快,因此大约需要 30 秒。
虽然启动复制的用户仍然看到超过 2 分钟才能完成复制,但 robocopy 已将文件复制到 c:\mydir\files 并且大小为 150 MB。
这怎么可能? robocopy 如何在启动复制的用户还有超过 2 分钟的时间时复制 150 MB 的文件?
【问题讨论】:
-
可能资源管理器只是预先分配了整个文件。
-
我根本不认为这是一个 PowerShell、脚本或编码问题。它可能应该被移动到超级用户。
标签: windows powershell robocopy