在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文档中的备注