3

我在 SendTo 文件夹中有一个简单的 .bat (move.bat) 文件,它使用上下文菜单将文件和目录从任何位置移动到指定文件夹。这适用于XP。但是,在 Windows 7 中,我收到拒绝访问错误。它甚至不适用于以管理员身份打开的 cmd (runas)。

move.bat 的内容:

move %1 c:\specifiedfolder
4

4 回答 4

1

尝试让管理员拥有 takeown /F <filename> (对于文件)和
takeown /f <foldername> /r /d y (对于文件夹)的所有权,然后尝试移动文件或文件夹

在使用 cacls 实用程序获得所有权集管理文件权限以完全控制后:

cacls <folder> /T  /G admin:F
于 2010-01-01T19:54:20.660 回答
1

在 Windows 7 中,您必须以管理员身份运行批处理。但是请确保在脚本开始时将 dir 更改为 homedir,因为当前 dir 将不同于以管理员身份运行时应有的目录。

或者,您可以使用管理员权限启动 cmd 窗口,然后您可以键入或拖放批处理将文件放入其中...

另一种方法是使用 /R 选项进行 xcopy,然后删除源...或者简单地使用 robocopy

robocopy %1 c:\specifiedfolder /E /IS /MOVE

但是您仍然需要删除跳过的文件...

于 2011-09-22T07:41:26.487 回答
1

我有同样的问题,所以做了一些实验。

从 Windows 7 开始,Windows 中目录的任何打开句柄似乎都会导致访问被拒绝。这包括在该目录中打开的资源管理器,以及通过网络使用该目录的人。

如果要重命名目录但保持路径相同,则可以使用 rename。即使在该目录中打开了诸如资源管理器窗口之类的打开句柄(窗口中的路径将被刷新),这也将起作用您可能用于自动网络备份等的任何内容。

如果权限设置不起作用,那么几乎可以肯定是资源管理器的打开句柄、从该目录运行的可执行文件或类似的东西。

于 2011-04-13T23:38:05.087 回答
0

检查系统进程是否打开了任何文件。您应该在尝试移动命令之前关闭所有文件

于 2014-01-27T02:16:43.477 回答