我使用Windows资源pipe理器访问另一台计算机上的共享文件夹。 我发现将该文件夹中的大文件移动到子文件夹中需要很长时间。 该文件实际上被复制到新的位置,然后从旧的删除? 或者还有另外一个原因,为什么需要这么长时间?
注意:由于不会创build文件的新副本,所以对本地文件夹的相同操作只需要几分之一秒。 只有目录条目被修改。
在使用CIFS共享时,在共享内部移动文件的行为应与本地情况类似,除非涉及DFS,文件实际上必须在服务器上从一个位置复制到另一个位置。
DFS意味着您可以看到一个目录树,可以由完全不同的服务器上的共享组成。 如果将不同的磁盘安装到Samba服务器上的公共树中,并将文件从一个安装点移动到另一个安装点,则情况类似。
在远程共享上移动的文件与本地文件完全相同:Explorer仅指示服务器将文件/文件夹移动到新的目标位置。 它也可以被认为是一个完整的path重命名。 没有必要将文件复制到本地系统并退出。
任何放缓的最大原因之一是在您的本地系统上打开文件:病毒扫描程序,shell扩展(例如压缩工具检查SFX存根的.exe文件,图像/电影缩略图生成,从Word文档获取标题/作者信息,扫描标签的音乐/电影等)等等。 资源pipe理器现在必须等待所有的东西在文件操作完成之前closures它们打开的文件句柄,因为我提到的很多事情都涉及到随机的小块I / O,所以SMB延迟变成了一个比它更大的问题在本地磁盘上。 如果你是通过无线连接的话,情况会更糟糕。
有关速度有多快的示例,请尝试从源文件夹中没有打开资源pipe理器的命令提示符处移动。 手术会很快。
在大多数情况下 – 是的,首先复制到networking上,然后在复制成功完成后从源中删除。 您可以通过中断“移动”来validation此操作,这种移动通常会导致源文件完整无缺,而且目标文件不完整。
也许我过于谨慎,但我绝不会build议通过networking移动文件。 相反,我复制并粘贴,确认大小完全匹配,然后返回并删除它们。 我只是不相信操作系统跟得上(不pipe操作系统)。