当源和目标都在同一远程文件服务器上时,是否远程处理 File.Copy

本文关键字:是否 程处理 Copy File 处理 文件服务器 目标 | 更新日期: 2023-09-27 18:33:42

我正在将遗留数据迁移到新系统。我需要将 10000 个文件区域的内容从一个目录结构复制到另一个目录结构。旧目录结构和新目录结构都位于同一个文件服务器上,位于另一个国家/地区的数据中心的某个地方。我必须运行负责在本地(而不是在远程文件服务器上(复制文件的应用程序。

我当前的实现一次将一个文件读入内存流。然后将内存流写入其他位置中新创建的文件。这工作正常,但是很明显,我将每个文件从文件服务器传输到本地计算机,然后再传输回文件服务器。

我想知道如果我使用 File.Copy(src, trg( 是否会有所不同。Windows 是否足够聪明地处理远程复制文件的过程(在文件服务器上(,而无需在此过程中通过网络发送单个字节的文件数据?

如果无法使用 File.Copy(...( 完成此操作,是否有另一种方法可以实现完全远程处理文件复制操作的目标?

当源和目标都在同一远程文件服务器上时,是否远程处理 File.Copy

简短的回答:不,它不会。

您可以登录远程服务器吗?然后你可以在那里开始工作...

取决于窗口的版本。如果服务器是 2K3 或更高版本,则可以使用 Powershell 远程处理。

如果远程处理可用,请启动PS并执行enter-pssession ServerInADistantLand - 然后您可以使用普通的DOS或Powershell命令进行复制。