如何在batch file副本中对所有“要覆盖”提示说“不”?

默认情况下,从命令提示符处进行复制将提示您覆盖目标位置中已存在的文件。

您可以添加“/ Y”来表示“是所有”replace。

但是,你怎么能说“不”呢?

换句话说,我想复制一个目录中不存在的目录中的所有内容。

我所看到的最接近的是XCOPY参数,它只在特定的mod-datetime之后复制事物。

除非有一种情况,您不想复制自上次复制以来已更改的源中的现有文件,为什么不使用XCOPY而不指定date?

echo "No" | copy/-Y c:\source c:\Dest\ 

你可以用一行“n”长的文本文件,然后运行你的命令并把<nc.txt放在它后面。 我这样做是为了复制超过145000个实例,其中“不覆盖”是我想要的,并且这种方式很好。

或者你可以把n键放在某个东西上,但是比使用<来input时间要长。

这是一个解决方法。 如果你想复制A中尚不存在的所有东西:

将A复制到一个新目录中C.将B复制到C,覆盖与A重叠的任何内容。将C复制到B.

我使用XCOPY和以下参数来复制.NET程序集:

 /D /Y /R /H /D:mdy - Copies files changed on or after the specified date. If no date is given, copies only those files whose source time is newer than the destination time. /Y - Suppresses prompting to confirm you want to overwrite an existing destination file. /R - Overwrites read-only files. /H - Copies hidden and system files also. 

我希望xxcopy有一个选项 。

答对了:

http://www.xxcopy.com/xxcopy27.htm#tag_231

 2.3 By comparison with the file in destination The switches in this group select files based on the comparison between the files in the source and those in the destination. They are often used for periodic backup and directory synchronization purposes. These switches were originally created as variations of directory backup. They are also convenient for selecting files for deletion. 2.3.1 by Presence/Absence The /BB and /U switches are the two switches which select files by the pure presence or absence as the criteria. Other switches in the this group (Group 2.3) are also affected by the file in the destination, but for a particular characteristics for comparison's sake. /BB Selects files that are present in source but not in destination. /U Selects files that are present in both source and destination. 

-亚当

我知道你们都认为/ D:date将使用date的东西,但只是/ D没有:完全是我们想要的,所以…

 xcopy {Source} {Destination} /E /D 

将复制而不覆盖以拾取那些新的或可能由于某种原因失败的文件。

试试吧,它的工作原理。

这工作正常

 no | cp -rf c:\source c:\Dest\ 

回声N | 复制/ -y $(SolutionDir)SomeDir $(OutDir)

根据正在复制的文件的大小和数量,可以先将目标目录复制到源文件中,然后执行“yes to all”,然后执行您正在执行的原始复制,同时也设置为“yes to all”。 这应该给你相同的结果。

尝试这个:

 robocopy "source" "destination" /e /b /copyall /xo /it 

将该行复制到记事本中并保存为.bat文件。 运行该文件,它将复制从源到目的地的所有内容。 当您再次运行时,它不会replace相同的文件。 当您更改或更改文件时,它将replace目标文件。

testing一下。 我用一些工作创build了一个.txt文件,运行脚本,更改.txt文件的措辞并再次运行脚本,它仅replace源文件中的更改文件。

 /e=Copies subdirectories. Note that this option includes empty directories /b=Copies files in Backup mode /copyall=Copies all file information /xo=Excludes older files. (this is what prevents it from copy the same file over and over) /it=Includes "tweaked" files. (this will allow the copy and replace of modified files) 

谢谢你。 我正在使用命令行实用程序AzCopy(v 3.1.0.93)将大约100万个文件从本地PC移动到我的Azure blob存储。 我有一些重复,不能照顾复制回答每个提示,不想重新上传相同的文件。

AzCopy实用程序提供了一个/ Y命令来禁止确认提示,但最终告诉它覆盖目标文件。 走这条路线,我能够得到它不重新上传文件。 然而,它看起来有点像黑客,因为它实际上并没有回答“否”的提示,而是我得到错误“当用户需要在几个给定的选项中进行select时没有接收到input”。 但不上传文件。

这是我使用的命令:echo n | AzCopy / Source:“{file path}”/ Dest:“{blob storage URL}”/ DestKey:{key}

希望这有助于下一个人。

我们通过“invoke-command”使用“robocopy”来复制我们环境中的大量虚拟机。 我们发现,“robocopy”有时会出乎意料地退出,整个过程往往停滞不前。 所以我们决定使用“xcopy”。 现在我们检查它的工作,并“创build”“不是所有”选项,我们使用该function(PowerShell):

函数gen_long_no([string] $ path){$ result =“”; Get-ChildItem $ path -Recurse | ? {if($ _。PSIsContainer -eq $ false){$ result + =“n”}}; 返回$结果}

也许帮助别人。