我正在尝试将共享文件复制到本地副本:
File.Copy("\\sharedmachine\directory\file.exe", "\\localmachine\directory\file.exe", true);
源文件存在但是如果另一个用户/机器在“Windows资源管理器”中打开了目录,则此操作锁定并且在复制期间我得到System.IO.FileNotFoundException
。
即使有人在另一台机器上打开目录,有一些方法可以复制文件吗?
由于
答案 0 :(得分:1)
以只读方式打开文件,然后将其写入目标,以便访问该文件的应用程序不会被阻止。
using (var from = File.Open("sourcePath", FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
using (var to = File.OpenWrite("destPath"))
{
from.CopyTo(to);
}