Windows 批处理文件以运行xcopy而不覆盖现有文件
我需要运行我的程序:Windows 批处理文件以运行xcopy而不覆盖现有文件,windows,batch-file,xcopy,Windows,Batch File,Xcopy,我需要运行我的程序: xcopy s:\* z:\ /E 当xcopy运行时,它将提示是否需要覆盖文件,因此我希望批处理文件在所有情况下都对提示回答否 如何实现这一点?xcopy无法配置为跳过现有文件,因此您应该使用“robocopy”进行复制。我自己在交换机中几乎忽略了这一点。我得到了一篇专家交流文章的帮助 这是一个重要的转变: /D:m-D-y复制指定日期当天或之后更改的文件。 如果没有给出日期,则只复制其 源时间比目标时间新 “如果没有给出日期”部分特别重要。这并不能完全回答“不覆盖现有
xcopy s:\* z:\ /E
当xcopy运行时,它将提示是否需要覆盖文件,因此我希望批处理文件在所有情况下都对提示回答否
如何实现这一点?xcopy无法配置为跳过现有文件,因此您应该使用“robocopy”进行复制。我自己在交换机中几乎忽略了这一点。我得到了一篇专家交流文章的帮助 这是一个重要的转变: /D:m-D-y复制指定日期当天或之后更改的文件。 如果没有给出日期,则只复制其 源时间比目标时间新 “如果没有给出日期”部分特别重要。这并不能完全回答“不覆盖现有文件”的问题,但如果源文件的现有文件的时间戳不比目标文件新,它会回答这个问题
足够接近政府工作。为避免问题y/n/您可以使用echo命令模拟“输入”,如下所示: echo n|xcopy blabla。。。 但这是不正确的,因为任何不同的问题都会被回答为“n” cmd中替换xcopy的更好选择是: 机器人复制源:目标:/e[/zb] 在图形模式下,有一个名为“Teracopy”(使用谷歌查找)的应用程序,它可以覆盖windows资源管理器副本,并提供我想推荐的几个选项(暂停、忽略[all]、覆盖[all]、最小化等)。这对我来说很有用:
echo n|xcopy s:\* z:\ /E
我多年来一直在使用以下标志。它似乎完成了你在问题中描述的所有行为
xcopy s:\z:\/s/Y/D
S将复制其中的所有子文件夹和文件
Y阻止任何覆盖提示
D基本上复制比目标中已有内容更新的任何内容
Windows命令解释器:
Windows批处理:
请记住,在开始复制/覆盖任何文件之前,请确保它会提示您。刚刚遇到了这个问题<代码>/D为我工作。您不必指定日期,在这种情况下,它意味着任何现有文件。Related:/y允许xcopy在不提示的情况下覆盖该文件。为我工作得很好<如果您需要实际使用日期限制,code>xcopy/D不会有任何帮助。我要感谢您为我提供了有趣的内容。两年来我一直在使用这个更好的解决方案。
/zb
选项如何帮助我们跳过现有文件?
for /f "delims=" %i in ('dir /b /s "source"') do (echo n | xcopy "%i" "destination" [switches] /-y)
for /f "delims=" %%i in ('dir /b /s "source"') do (echo n | xcopy "%%i" "destination" [switches] /-y)