使用 robocopy 复制单个文件

使用 robocopy 复制单个文件

我正在编写一个批处理文件,用于将某个文件复制到 samba 共享。

我已经读过了robocopy 传输文件而不是文件夹 并认为我会很好地利用

robocopy "E:\Some\Path\with spaces" "\\sambaServer\some\path\with spaces" "myFile.rar" /z /MIR

但我不断看到

Source: E:\Some\Path\with spaces\
Destination: \\sambaServer\Some\path\with spaces" myFile.rar \Z \MIR\

Files: *.*

当然我得到了一个错误

错误 123 (0x0000007B) 访问目标文件夹 \\sambaServer\Some\path\with 空格" myFile.rar \Z \MIR\ 文件名、文件夹名或卷标的语法不正确。

因此显然robocopy将整个第二部分(目标文件夹、文件和参数)一起作为目标文件夹。

为什么这不起作用?我做错了什么?


当我复制整个文件夹而不是使用时它起作用了

robocopy "E:\Some\Path\with spaces" "\\sambaServer\some\path\with spaces" /z /MIR

答案1

嗯,我不确定,但看起来可能是权限问题,看这里 http://blogs.technet.com/filecab/archive/2008/07/31/robocopy-mir-switch-mirroring-file-permissions.aspx

对我来说 robocopy 工作正常:

robocopy “D:\test” “\共享名称\文件夹名称\test test” “11.rar” /z /MIR

答案2

请注意,ROBOCOPY 存在一个缺陷,如果指定单个文件,即使文档表明该文件应该有效,它也会失败。只需在文件名末尾添加通配符 (*),它就会被复制。(当然,如果通配符命中多个文件,则所有命中的文件都将被复制,因此这不是解决缺陷的理想方法。

相关内容