当我尝试在 Windows 网络中的远程文件夹内移动文件时会发生什么?

当我尝试在 Windows 网络中的远程文件夹内移动文件时会发生什么?

我正在使用 Windows 资源管理器访问另一台计算机上的共享文件夹。我发现将该文件夹中的大文件移动到子文件夹中需要很长时间。文件实际上是被复制到新位置然后从旧位置删除的吗?还是有其他原因导致需要这么长时间?

注意:对本地文件夹执行相同操作只需几分之一秒,因为根本不会创建文件的新副本。仅修改目录条目。

答案1

当您使用 CIFS 共享时,移动共享内的文件应与本地情况类似,但涉及类似 DFS 的内容,其中文件实际上必须在服务器上从一个位置复制到另一个位置。

DFS意味着您会看到一个目录树,该目录树可能由完全不同的服务器上的共享组成。如果将不同的磁盘安装到 Samba 服务器上的公共树中,并将文件从一个安装点移动到另一个安装点,则情况会类似。

答案2

远程共享上的文件移动与本地共享上的文件移动完全相同:Explorer 只是指示服务器将文件/文件夹移动到新目标。它也可以被认为是完整路径重命名。无需将文件复制到本地系统并退出。

导致速度变慢的最大原因之一是本地系统上的某些程序使文件处于打开状态:病毒扫描程序、shell 扩展(例如,压缩实用程序检查 .exe 文件中的 SFX 存根、生成图像/电影缩略图、从 Word 文档获取标题/作者信息、扫描音乐/电影中的标签等)等等。Explorer 现在必须等待所有程序关闭文件上的打开句柄,然后才能完成文件操作,而且由于我提到的许多事情都涉及随机小块 I/O,因此 SMB 延迟会成为比本地磁盘更大的问题。如果您通过无线连接执行此操作,情况会更糟。

举个例子来说明它有多快,请尝试在源文件夹中不打开 Explorer 的情况下从命令提示符执行移动。操作将非常快。

答案3

在大多数情况下 - 是的,它首先通过网络进行复制,然后在复制成功完成后从源中删除。您可以通过中断“移动”来验证此操作,这通常会导致源完好无损,而目标的副本不完整。

答案4

也许我过于谨慎,但我绝不会建议通过网络移动文件。相反,我会复制粘贴,验证大小是否完全匹配,然后返回并删除它们。我只是不相信操作系统能够很好地跟上它(无论操作系统是什么)。

相关内容