如何复制整个目录结构?

我从一个目录复制10,000个文件到另一个目录。

两个目录结构都有相同的文件; 但是,尺寸可能会有所不同。

如何强制覆盖大小不同的文件,不要复制大小相同的文件?

到目前为止,我有这样的:

$source = 'D:\Test1' $destination = 'D:\test2' $exclude = @('*.db','test2.log') $sourcelist = Get-ChildItem $source -exclude $exclude foreach ($file in $sourcelist){ $result = test-path -path "$destination\*" -include $file if ($result -like "False"){ #uncomment the next line to see the value being passed to the $file parameter #Write-Host $file Copy-Item "$file" -Destination "$destination" } } 

我认为这将复制目标上不存在的文件。 但是,我也想复制文件,但是其大小不一。

Solutions Collecting From Web of "如何复制整个目录结构?"

使用robocopy而不是在PowerShell中重新创建它。

 robocopy D:\Test1 D:\Test2 /s 

如果你还想包括只有属性不同的文件(“tweaked files”),那么也加上/it

我认为检查$ sourcelist文件LastWrite时间戳,然后将其与目标文件时间戳进行比较。