Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 批处理文件以运行xcopy而不覆盖现有文件_Windows_Batch File_Xcopy - Fatal编程技术网

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)