为什么将文件夹移动到具有管理员权限的程序文件夹时访问被拒绝?
Why is access denied on moving a folder to program files folder with administrator privileges?
所以我想将一个名为test
的文件夹移动到目录"%PROGRAMFILES(x86)%"
。
但是,即使以运行管理员身份批处理文件,它也不会真正动起来。我收到错误消息:
Access denied.
这是我当前的批处理文件:
@echo off
move %~dp0test "%PROGRAMFILES(x86)%"
pause
%~dp0
是文件夹的当前目录(在我的例子中是桌面)。
那么如何解决这个问题,将文件夹 test
移动到 "%PROGRAMFILES(x86)%"
而不会出现拒绝访问错误?
在您的情况下,访问被拒绝错误消息可能是由于 运行 批处理文件已经具有管理员权限
- 要移动的目录中的文件当前正被应用程序打开,或者
- 要移动的目录是运行进程(批处理文件)的当前目录,或者
- 管理员帐户对您的桌面文件夹没有权限,这不太可能,但有可能,因为它是您的用户配置文件中的文件夹,而不是管理员帐户的用户配置文件中的文件夹。
在前两种情况下,无法删除指定的目录,结果是共享访问被拒绝的错误消息。所以这里的问题可能不是目标文件夹中的权限,而是源文件夹及其文件的共享访问权限。
顺便说一下:最好使用 move "%~dp0test" "%ProgramFiles(x86)%"
,因为批处理文件的路径可能包含 space,即使当前情况并非如此,批处理文件位于 Windows 桌面文件夹中在 Windows Vista 或更高版本上,只要您的用户名不包含 space 字符。
所以我想将一个名为test
的文件夹移动到目录"%PROGRAMFILES(x86)%"
。
但是,即使以运行管理员身份批处理文件,它也不会真正动起来。我收到错误消息:
Access denied.
这是我当前的批处理文件:
@echo off
move %~dp0test "%PROGRAMFILES(x86)%"
pause
%~dp0
是文件夹的当前目录(在我的例子中是桌面)。
那么如何解决这个问题,将文件夹 test
移动到 "%PROGRAMFILES(x86)%"
而不会出现拒绝访问错误?
在您的情况下,访问被拒绝错误消息可能是由于 运行 批处理文件已经具有管理员权限
- 要移动的目录中的文件当前正被应用程序打开,或者
- 要移动的目录是运行进程(批处理文件)的当前目录,或者
- 管理员帐户对您的桌面文件夹没有权限,这不太可能,但有可能,因为它是您的用户配置文件中的文件夹,而不是管理员帐户的用户配置文件中的文件夹。
在前两种情况下,无法删除指定的目录,结果是共享访问被拒绝的错误消息。所以这里的问题可能不是目标文件夹中的权限,而是源文件夹及其文件的共享访问权限。
顺便说一下:最好使用 move "%~dp0test" "%ProgramFiles(x86)%"
,因为批处理文件的路径可能包含 space,即使当前情况并非如此,批处理文件位于 Windows 桌面文件夹中在 Windows Vista 或更高版本上,只要您的用户名不包含 space 字符。