移动目录时拒绝访问路径,但能够在目录中创建文件夹

时间:2011-05-16 15:55:04

标签: c#

我正在编写一个简单的程序,使用以下代码将C盘中的目录A移动到C盘中的目录B

System.IO.Directory.Move(DirectoryA, DirectoryB);

奇怪的是,它抛出一个异常,说拒绝访问目录A。

然而,我尝试通过System.IO.Directory.CreateDirectory(DirectoryA+ @"\test");在目录A中创建一个文件夹。我在DirectoryA中创建测试目录没有问题,所以我想这不是权限问题。

所以我不知道问题是什么,代码以前是否正常工作,所以任何人都有任何想法,谢谢:)

2 个答案:

答案 0 :(得分:3)

Windows区分“创建”和“修改”权限;你有权做一个而不是另一个。 IIRC,“删除”,这是从一个给定的地方“移动”一个文件夹所需要的(基本上在那个地方删除它并在另一个地方创建它)也是分开的;它实际上是一种特殊的许可,可以自己授予或授予“完全控制权”。

答案 1 :(得分:1)

Move本质上是一个复制和删除操作,对吧?用于删除目录和向其添加子目录的ACL权限将是不同的权限。所以我认为理论上你可以拥有修改目录的正确权限,但不能删除它。您是否确认了DirectoryA的安全权限?