[英]Access to path is denied when moving a directory, but is able to create folders in the directory
我正在编写一个简单的程序,使用以下代码将C盘中的目录A移动到C盘中的目录B.
System.IO.Directory.Move(DirectoryA, DirectoryB);
奇怪的是,它抛出一个异常,说拒绝访问目录A.
但是,我尝试通过System.IO.Directory.CreateDirectory(DirectoryA+ @"\\test");
在目录A中创建一个文件夹System.IO.Directory.CreateDirectory(DirectoryA+ @"\\test");
。 我在DirectoryA中创建测试目录没有问题,所以我想这不是权限问题。
所以我不知道问题是什么,代码以前工作过,所以任何人都有任何想法,谢谢:)
Windows区分“创建”和“修改”权限; 你有权做一个而不是另一个。 IIRC,“删除”,这是从一个给定的地方“移动”一个文件夹所需要的(基本上在那个地方删除它并在另一个地方创建它)也是分开的; 它实际上是一种特殊的许可,可以自己授予或授予“完全控制权”。
Move本质上是一个复制和删除操作,对吧? 用于删除目录和向其添加子目录的ACL权限将是不同的权限。 所以我认为理论上你可以拥有修改目录的正确权限,但不能删除它。 您是否确认了DirectoryA的安全权限?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.