我正在向远程计算机发送命令以使其复制文件。 我想要复制文件,但不要用相同的名称覆盖以前的文件(如果存在)。 我还需要在没有任何提示的情况下运行命令(xcopy喜欢提示我指定的目标名称是文件还是目录,并且还会提示覆盖文件)。
答案 0 :(得分:52)
xcopy /d
我的成绩很好。
它将复制NEWER文件,因为我们可以假设现有文件具有相同的时间戳,所以您只会复制不存在的文件。
答案 1 :(得分:19)
以防万一其他人发现这个: robocopy x:\ sourcefolder Y:\ destfolder / s / e / r:0 / z
比xcopy好得多,甚至在最后给你一个表,告知任何失败或跳过的文件。不提示不覆盖。
答案 2 :(得分:3)
据我所知,没办法让它不会覆盖。但是/ Y会覆盖它。和/我将摆脱文件/字典提示。有关所有选项,请参阅xcopy /?
答案 3 :(得分:3)
您也可以使用replace命令。它有两种模式:添加不存在的文件或替换存在的文件。您想要以前的模式:
replace <path1> <path2> /A
答案 4 :(得分:3)
嗯,有一定的补救措施!在为我们的产品演示编写设置时,它帮助我在Win10上节省了大量的精力和时间。
试着使用滚边:
@ECHO N | COPY / - Y SourceFiles 目的地
作为一个例子,我使用了这段代码,这样我就可以得到一个干净温柔安静的副本!
@FOR /D %%F in ("FooPath") DO @(
@ECHO N|COPY /-Y ^"%%~npdxF\*.*^" ^"GooPath^" 3>NUL 2>NUL >NUL
)
显然 FooPath 是来源, GooPath 是目的地。
享受!
答案 5 :(得分:1)
我必须复制并重命名文件,因此我得到了关于创建文件或目录的提示。
这是&#34; hackish&#34;我这样做的方式:
ECHO F | XCOPY /D "C:\install\dummy\dummy.pdf" "C:\Archive\fffc810e-f01a-47e8-a000-5903fc56f0ec.pdf"
XCOPY将使用&#34; F&#34;表明它应该将目标创建为文件:
C:\install>ECHO F | XCOPY /D "C:\install\dummy\dummy.html" "C:\Archive\aa77cd6e-1d19-4eb4-b2a8-3f8fe60daf00.html"
Does C:\Archive\aa77cd6e-1d19-4eb4-b2a8-3f8fe60daf00.html specify a file name or directory name on the target
(F = file, D = directory)? F
C:\install\dummy\dummy.html
1 File(s) copied
我还验证了此命令单独留下现有文件。 (你也应该: - )
答案 6 :(得分:1)
以下命令复制文件和文件夹,但如果存在则不覆盖文件。
xcopy "*.*" "C:\test\" /s /y /d