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

标签 c# .net .net-core

在 C# .NET 7 Core 控制台应用程序中,如果执行 File.Move(@"\\box\stuff\video.mkv", @"\\box\stuff\fun\video.mkv") 它将对该文件进行复制,然后删除。但是,如果您打开 Windows 文件资源管理器并移动(剪切和粘贴)同一文件,它将立即移动。我要移动的文件有20GB,因此程序无法复制和删除。如何像文件资源管理器一样在 C# .NET Core 中移动文件?

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

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

最佳答案

您可以尝试使用 FileInfo 类中的 Move 方法,而不是使用 File.Move

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

与静态文件相比,这要快得多。

Check Remarks in this MS Doc

关于c# - 如何快速将网络共享上的文件移动到同一网络共享上的子文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74806624/

相关文章:

c# - 在 C# 中异步解析 CSV 文件的最佳方法是什么

c# - UWP Make phone call in China 不允许在中国打电话,如何防止在中国部署?

c# - 将字符串值从 c#.net 传递给 javascript

.net-core - 当在 6379 以外的端口上设置 Redis 时,.NET Core 无法在缓存中插入数据

.net-core - 在 Blazor 客户端应用程序中,登录后主页顶部显示“Hello”+ 一个非常长的哈希代码而不是用户名

c# - 在 F# 中访问 IEnumerable 中的项目

c# - 将 ToggleButton 绑定(bind)到 boolean 值

asp.net - 如何在 Web.config 中为 SmtpClient 启用 SSL

c# - 在 C# 中将对象列表转换为其接口(interface)类型

c# - 如何在.net core 的库中包含文件