如何快速移动网络共享上的文件到同一网络共享的子文件夹?



在c# .NET 7核心控制台应用程序中,如果您执行File.Move(@"\boxstuffvideo.mkv", @"\boxstufffunvideo.mkv"),它将执行复制然后delete在那份文件上。但是如果你打开Windows文件资源管理器并移动(剪切&粘贴)相同的文件,它将在瞬间移动。我要移动的文件是20GB,所以程序无法复制和删除。如何像文件资源管理器那样在c# .NET Core中移动文件?

网络共享设备是samba服务器,所以我的猜测是File Explorer执行远程移动调用。我只是想列出来自服务器的文件,然后将它们移动到同一网络共享上的子文件夹。

编辑:这与使用windows中的任何文件对话框都不同。这是一个严格的批处理过程,不需要任何用户输入或反馈。

不使用File.Move,可以尝试在FileInfo类中使用Move方法。

FileInfo fileinfo = new FileInfo(filetoMovePath); 
fileinfo.MoveTo(destFileName);

这比静态File要快得多。

检查此MS文档中的备注

最新更新