File.Move对UNC路径无法正常工作

时间:2008-10-12 07:47:10

标签: .net unc

我正在尝试使用File.Move将文件从一个UNC位置移动到另一个位置。如果目标的UNC路径恰好是本地计算机,则会爆炸(错误:拒绝访问路径)。示例File.Move(@"\\someServer\path\file.txt", @"\\blah2\somewhere\file.txt")。这假设有一个网络共享名称为\\ someServer,我的本地计算机名称为blah2。将\\ blah2更改为C:\并且一切都很好。

6 个答案:

答案 0 :(得分:4)

也许这是一个错字,但不应该是@"\\blah2\somewhere\file.txt",即有两个反斜杠?

答案 1 :(得分:1)

你的unc路径中的服务器名称不应该以两个斜杠开头吗? 例如@“\\ someServer \ path \ file.txt”

答案 2 :(得分:1)

对于Windows文件共享,写入权限需要在共享权限的另一个位置(ACL除外)中指定权限。如果您使用的是C $之类的管理共享,则已启用写访问权限,但如果您使用的是已为此明确设置的共享,请确保在“共享权限”下启用“更改”选项。

请注意,您通常可以通过检查计算机管理下的安全事件日志来解决权限错误 - >事件查看器,可能还有其他详细信息如何失败。在管理工具下启用对登录失败的审核 - >本地安全政策 - >本地政策 - >审核策略还可以在事件日志中提供更多详细信息。

答案 3 :(得分:0)

我似乎无法重现这个错误。也许它与权限有关?您可以使用UNC地址移动到本地计算机上的任何位置,还是都抛出异常?

答案 4 :(得分:0)

我遇到了同样的问题,文件被其他程序(Windows资源管理器)锁定,在我的情况下,我使用解锁器解锁了文件。当我使用UNC路径访问文件时,发生了这种情况,File.Move方法可以通过本地路径正常访问它。

当我通过UNC /本地路径手动重命名文件时,我似乎没有得到这种行为。

答案 5 :(得分:0)

File.Move Target Path不接受UNC路径

http://support.microsoft.com/KB/112744