移动文件夹需要什么权限?

移动文件夹需要什么权限?

在我的驱动器的根目录中有一个名为的文件夹,SourceControl其中包含我所有编程项目的所有工作副本。

我想将文件夹移动到我的用户目录 ( \Users\Me),但文件夹的权限不允许我这样做。我不记得我是如何创建该文件夹的。

当我执行移动命令时:

MOVE \SourceControl \Users\Me

我收到以下错误:

Access is denied.

我以前用过Takeown实用程序将文件的所有权分配给我,所以我接下来尝试了这个命令:

TAKEOWN /F \SourceControl

它返回以下错误:

ERROR: The current logged on user does not have ownership privileges
       on the file (or folder) "C:\SourceControl".

我刚刚了解到Icacls实用程序,它可以检查和修改文件权限。

我使用此命令来检查文件夹的权限:

ICACLS \SourceControl

它列出了以下清单:

\SourceControl BUILTIN\Administrators:(I)(F)
               BUILTIN\Administrators:(I)(OI)(CI)(IO)(F)
               NT AUTHORITY\SYSTEM:(I)(F)
               NT AUTHORITY\SYSTEM:(I)(OI)(CI)(IO)(F)
               BUILTIN\Users:(I)(OI)(CI)(RX)
               NT AUTHORITY\Authenticated Users:(I)(M)
               NT AUTHORITY\Authenticated Users:(I)(OI)(CI)(IO)(M)

我认为这意味着普通用户帐户(比如我的)只具有RX此处的读取和执行()的权限,而管理员帐户则具有完全控制权(F)。

我使用 Icacls 通过以下命令将目录的完全控制权授予我的用户帐户:

ICACLS \SourceControl /grant:r Me:F

该命令产生以下输出:

processed file: \SourceControl
Successfully processed 1 files; Failed processing 0 files

现在检查权限会产生以下输出:

\SourceControl Domain\Me:(F)
               BUILTIN\Administrators:(I)(F)
               BUILTIN\Administrators:(I)(OI)(CI)(IO)(F)
               NT AUTHORITY\SYSTEM:(I)(F)
               NT AUTHORITY\SYSTEM:(I)(OI)(CI)(IO)(F)
               BUILTIN\Users:(I)(OI)(CI)(RX)
               NT AUTHORITY\Authenticated Users:(I)(M)
               NT AUTHORITY\Authenticated Users:(I)(OI)(CI)(IO)(M)

但此后,移动命令仍然因相同的错误而失败。

是否可以在不调用管理员权限的情况下移动此文件夹?如果不行,我该如何以管理员身份进行操作?

答案1

听起来你可能打开了文件句柄来处理其中的内容。关闭可能正在使用它的任何程序。如果需要,请以安全模式重新启动。

如果您仍然遇到问题,那么有一个名为 handles 的 sysinternals 工具也可以帮助您。

答案2

错误消息具有误导性。真正的问题不是权限不足,而是目录中某个对象的打开文件句柄。

Mark Russinovich 的 Handle 实用程序,由MDMarra,帮助解决了错误信息的原因。

使用 Handle 诊断错误

下载处理从 sysinternals 网站下载并解压 handle.exe 并将%WINDIR%其放在路径上。句柄需要管理员权限,因此请以管理员身份打开新的命令提示符。运行以下命令在目录中的对象上搜索打开的文件句柄SourceControl

handle SourceControl

输出显示 TSVNCache.exe 在目录中有一个打开的文件句柄:

TSVNCache.exe      pid: 2860   type: File           1C8: C:\SourceControl\Project

通过终止进程来关闭文件句柄

TSVNCache.exe 是TortoiseSVN,一个图形化的 SVN 客户端,以及一个著名的资源消耗大

要终止 TSVNCache.exe 进程,请在 TortoiseSVN 设置对话框中禁用 TortoiseSVN 的状态缓存:

将“状态缓存”设置为无以终止 TSVNCache.exe 进程。

重复句柄搜索。 的输出handle SourceControl确认目录中不再有打开的文件句柄:

No matching handles found.

移动目录

重复该命令以移动目录。操作成功并显示预期输出:

1 file(s) moved.

相关内容