移动目录时,对 path 的访问被拒绝,但可以在目录中创建文件夹

本文关键字:但可以 创建 文件夹 拒绝 path 移动 访问 | 更新日期: 2023-09-27 17:56:40

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

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

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

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

所以

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

移动目录时,对 path 的访问被拒绝,但可以在目录中创建文件夹

Windows 区分"创建"

和"修改"权限;您可以有权执行其中一个权限,但不能执行另一个权限。IIRC,"删除",这是从给定位置"移动"文件夹所需的内容(基本上在该位置删除它并在另一个位置创建它)也是分开的;它实际上是一种特殊权限,可以由其自身授予,也可以通过授予"完全控制"来授予。

移动本质上是一个复制和删除操作,对吧?删除目录和向其添加子目录的 ACL 权限将是不同的权限。所以我想理论上你可以有正确的权限来修改目录,但不能删除它。是否已确认目录 A 的安全权限?