情况是这样的。我们在 \fileserver\ 上设置了一个文件服务器,在 \fileserver\users\first.last 上为每个用户都设置了一个文件夹
我正在运行 xcopy 命令以将“我的文档”文件夹从他们的计算机备份到他们的个人文件夹。我运行的命令是:
xcopy "C:\Users\%username%\My Documents\*" "\\fileserver\users\%username%\My Documents" /D /E /O /Y /I
我一直在用户不知情的情况下在登录时默默运行此脚本,这样我就可以让它工作,然后再告诉他们它的作用。在我发现它不起作用之后,我手动运行了在其中一台计算机上执行 xcopy 命令的批处理脚本,并收到拒绝访问错误。然后我在自己的计算机上登录了一个测试帐户,并收到同样的错误。
我检查了共享和安全的所有权限,它们都按照我想要的方式设置了。我可以手动浏览到该文件夹并创建新文件。我可以将项目拖放到 \fileserver\users\first.last 位置,效果很好。
因此我尝试了其他方法,试图找到拒绝访问问题的根源。我运行了 xcopy 命令将“我的文档”文件夹复制到同一台计算机上的其他位置,但仍然收到拒绝访问错误!
因此,当 xcopy 尝试复制“我的文档”文件夹时,它似乎被拒绝访问。
关于如何实现此功能,您有什么建议吗?有人知道拒绝访问错误的原因吗?
答案1
尝试在你的路径中Documents
代替。My Documents
答案2
我怀疑这是/O- 用户可能没有权限修改目标上的 NTFS ACL。
答案3
首先,可能是因为第一个 xcopy 参数中多余的“\*”。
再次强调,使用 Documents 可能会有所帮助,因为“我的文档”只是“文档”的连接点,仅用于向后兼容,但有一些限制,例如,您不能在其中进行目录操作。
答案4
尝试从提升的命令提示符运行 xcopy。即右键单击 > 以管理员身份运行。