为什么在将文件夹移动到具有管理员权限的程序文件文件夹时拒绝访问



所以我想将一个名为 test 的文件夹移动到目录"%PROGRAMFILES(x86)%"。但是,即使以管理员身份运行批处理文件,它也不会真正移动。我收到错误消息:

访问被拒绝。

这是我当前的批处理文件:

@echo off
move %~dp0test "%PROGRAMFILES(x86)%"
pause

%~dp0用于文件夹的当前目录(在我的情况下为桌面)。

那么如何解决此问题以将文件夹test移动到"%PROGRAMFILES(x86)%"而不会出现访问被拒绝错误?

在您

以管理员权限运行批处理文件的情况下,可能会导致访问被拒绝错误消息

  • 要移动的目录中当前由应用程序打开的文件,或
  • 要移动的目录是正在运行的进程(批处理文件)的当前目录,或者
  • 管理员帐户对您的
  • 桌面文件夹没有权限,这不太可能,但有可能,因为它是用户配置文件中的文件夹,而不是管理员帐户的用户配置文件中的文件夹。

在前两种情况下,无法删除指定的目录,并且结果是共享访问被拒绝错误消息。因此,这里的问题可能不是目标文件夹中的权限,而是源文件夹及其文件的共享访问权限。

顺便说一句:最好使用move "%~dp0test" "%ProgramFiles(x86)%"因为批处理文件的路径可能包含空格,即使批处理文件目前不是这种情况,只要您的用户名不包含空格字符,批处理文件位于Windows Vista或更高版本的Windows桌面文件夹中。

最新更新