6

I'm attempting to use File.Move to move a file from one UNC location to another. This blows up if the UNC path for the destination happens to be the local machine (error: Access to the path is denied). Example File.Move(@"\\someServer\path\file.txt", @"\\blah2\somewhere\file.txt"). This assumes there's a network share out there somewhere named \\someServer and my local machine name is blah2. Change \\blah2 to C:\ and all is good.

4

6 回答 6

4

Maybe it's a typo, but shouldn't it be @"\\blah2\somewhere\file.txt", i.e. with two backslashes?

于 2008-10-12T08:23:20.963 回答
1

Shouldn't the server name in your unc path start with two slashes?
eg @"\\someServer\path\file.txt"

于 2008-10-12T08:22:30.840 回答
1

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

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

于 2008-10-12T12:25:41.583 回答
0

File.Move 目标路径不接受 UNC 路径

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

于 2014-05-29T03:27:09.963 回答
0

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

于 2008-10-12T11:58:47.487 回答
0

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

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

于 2012-02-04T05:27:09.857 回答