1

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

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

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

如果使用 File.Copy(...) 无法做到这一点,是否有另一种方法可以达到我完全远程处理文件复制操作的目标?

4

2 回答 2

3

简短的回答:不,不会。

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

于 2012-05-10T14:57:34.433 回答
1

取决于windows的版本。如果服务器是 2K3 或更高版本,您也许可以使用Powershell remoting

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

于 2012-05-10T15:06:06.147 回答