似乎无法在 CMD 中复制到网络共享

似乎无法在 CMD 中复制到网络共享

我正在尝试编写一个简单的脚本来备份特定的文件和目录,但是复制到网络驱动器时似乎会失败。我见过其他类似的问题,建议使用 net use 映射驱动器,但在这些系统上H:始终会挂载(当驱动器尚未挂载时,我很高兴脚本会失败)。我将其隔离到以下行,直接粘贴到 CMD 时也会失败。

H:\>xcopy  "C:\Users\<user>\My Documents" "H:\<user>-backup-26022015\My Documents"  /s /c /d /e /h /i /r /y
Access denied
Unable to create directory - H:\<user>-backup-26022015\My Documents
File not found - *.*
0 File(s) copied

知道我做错了什么吗?

答案1

我假设您故意将主目录排除在路径之外,因此请确保它在那里。

尝试这个:

xcopy "C:\Users\%USERNAME%\Documents" "H:\-backup-26022015\My Documents" /c /d /e /h /i /r /y

在 win7 及更高版本中,您的 MyDocs 目录实际上不再称为“我的文档”,尽管资源管理器有时会这样显示,但该名称实际上无效,因此命令行需要路径为 C:\Users\%USERNAME%\Documents。尽管错误消息抱怨创建目标路径,但真正的问题是源路径(我已通过测试证实了这一点)。

另请注意,您将一个 My Docs 目录嵌套在另一个目录中,方法是在源参数后面留下一个斜杠,并在目标中指定文件夹名称,这样您的文件最终将位于 h:-backup-260215\My Documents\My Documents 中。如果您想解决这个问题,请在源路径中添加一个尾随的“\*”。

答案2

正如 Frank 所说,错误是因为“我的文档”是一个链接(或者至少是 Microsoft 对其的破坏性实现),而不是目录(如 所示dir /a)。另外请检查icacls H:\您是否拥有权限,您可能还想使用ISO日期(2015-02-25),以便您可以正确排序,或者用于备份工具更先进比 xcopy 更棒。请参阅 wikipedia.org/wiki/NTFS_symbolic_link

相关内容