我知道 copy 命令有一个选项,如果文件已经存在,可以自动替换它,但我想知道这是否是一种仅在文件不存在时才复制文件的方法(/Y
)。我不知道批处理代码中的实际文件名,因为我使用 copy 命令中的通配符从源复制:
copy *.zip c:\destination
我之所以想要这样做而不是自动覆盖,是因为文件很大,跳过现有文件可以节省大量执行时间。它是通过网络共享完成的,因此复制这么多的数据可能需要一段时间……
附加信息:
这是一项批处理作业,它运行备份程序,将 zip 文件从我的计算机复制到共享服务器,并且如果批处理作业由于某种原因未完成(仅复制了部分 zip 文件),我需要再次运行该批处理,但仅针对那些之前未复制的 zip 文件。
答案1
这个命令帮我解决了这个问题:
XCOPY *.ZIP /D C:\DESTINATION
答案2
echo n|xcopy "[source]" "[destinaton]"
查看 xcopy 的各种参数,以满足你的特定用途
答案3
Robocopy - 自动跳过目标中已有的文件
ROBOCOPY \some\folder c:\destination *.zip/S
答案4
robocopy
通过使用并使用/M
仅复制设置了存档标志的文件的选项,然后清除它,可以解决该问题。
robocopy /M *.zip c:\destination
在维基百科上的这篇文章您会发现,这实际上与存档标志的最初用途非常相似。