robocopy
将单个文件从一个位置传输到另一个位置,但是robocopy
似乎认为我一直在指定文件夹。这是一个示例:robocopy "c:\transfer_this.txt" "z:\transferred.txt"
但是我却收到此错误:
2009/08/11 15:21:57 ERROR 123 (0x0000007B) Accessing Source Directory c:\transfer_this.txt\
(请注意
\
在transfer_this.txt
的结尾处)但是如果我将其视为一个完整的文件夹:
robocopy "c:\folder" "z:\folder"
它可以工作,但随后我必须转移所有内容
如何仅使用
robocopy
传输单个文件?#1 楼
请参阅:Robocopy /?
用法:ROBOCOPY源目标[文件[文件] ...] [选项]
robocopy c:\folder d:\folder transfer_this.txt
评论
首先,至少在win2003上:引用目录路径似乎使它有些打.。
–令人难以置信的莫妮卡复原
2013年9月15日19:52
@samsmith我在收尾引号前有一个\时看到它打了h(即:ROBOCOPY“ c:\ folder1 \” c:\ folder2文件不起作用,但是:ROBOCOPY“ c:\ folder1” c:\ folder2文件。我希望这是文本转义的东西
–迈克·戈特利(Mike Goatly)
2015年10月23日在7:22
@MikeGoatly非常好。 Robocopy不喜欢尾随\。它希望您将目录命名为“名称”,并且不希望以任何方式暗示它接受目录以外的任何内容。
–令人难以置信的莫妮卡复原
2015年10月23日在16:26
#2 楼
根据Wikipedia关于Robocopy的文章:文件夹复印机,而不是文件复印机
Robocopy语法与标准副本明显不同命令,因为它仅接受文件夹名称作为其源和目标参数。文件名和通配符(例如
*.*
)不是有效的源或目标参数。可以使用可选的filespec过滤参数选择或排除文件。文件规范只能引用相对于已选择要复制的文件夹的文件名。不支持完全限定的路径名。例如,要将文件foo.txt
从目录c:\bar
复制到c:\baz
,可以使用以下语法:robocopy c:\bar c:\baz foo.txt
评论
我注意到的一件事。如果C:\ bar中有任何文件夹,并且已添加选项/ e。它将重新创建所有没有文件的文件夹。我猜因为foo.txt就像一个过滤器,在那些文件夹和保持空文件夹中找不到任何文件。这就是为什么创建空文件夹的原因。
–唐尼五世
17年8月2日在20:02
#3 楼
尝试在目标位置之前插入一个空格,如下所示:robocopy "c:\transfer_this.txt" "z: \this.txt"
注意目标“文件夹”
之后的空间z:
。 评论
这对我不起作用,我必须遵循@KPWINC的说明并将文件名保留在源路径之外。
–进水
2015年11月25日,0:17
这是一个巨魔的答案吗?尝试过并且不起作用(似乎也不起作用)。
–起搏器
16年5月4日在4:24
#4 楼
robocopy Q:\ F:\ Dopbox“ Microsoft Office.zip” / MT:128评论
Robocopy源目标文件名
–戴尔
16年4月4日在10:34
没有解释的命令不是有用的答案。
–卡巴斯德
16年4月4日在12:31
评论
def copyFile(fromLocation,toLocation,big = False):打印(如果从大到大,则将文件从“ + fromLocation +复制到” + toLocation):iFind = fromLocation.rfind('\\')fromLocation1 = fromLocation [:(iFind + 1)] fileName = fromLocation [iFind + 1:] toLocation1 = toLocation [:( toLocation.rfind('\\')+ 1)] strcmd =“ robocopy” + fromLocation1 +“” + toLocation1 +“” + fileName print(strcmd) os.system(strcmd)else:shutil.copy2(fromLocation,toLocation)