Как перезаписать файлы с помощью Copy-Item в PowerShell

Я пытаюсь скопировать содержимое папки, но есть два файла, которые я бы хотел исключить. Остальная часть содержимого должна быть скопирована в новое место, и существующий контент в этом новом месте должен быть перезаписан.

Это мой script. Он отлично работает, если моя папка назначения пуста, но если у меня есть файлы и папка, она не перезаписывает их.

$copyAdmin = $unzipAdmin + "/Content/*"
$exclude = @('Web.config','Deploy')
Copy-Item  -Path $copyAdmin -Destination $AdminPath -Exclude $exclude -Recurse -force

Ответ 1

Как я понимаю Copy-Item -Exclude, вы делаете это правильно. То, что я обычно делаю, получаю 1-е, а потом делать, так что как насчет использования Get-Item, как в

Get-Item -Path $copyAdmin -Exclude $exclude |
Copy-Item  -Path $copyAdmin -Destination $AdminPath -Recurse -force

Ответ 2

Robocopy предназначен для надежного копирования с множеством опций копирования, перезапуска выбора файлов и т.д.

/xf для исключения файлов и /e для подкаталогов:

robocopy $copyAdmin $AdminPath /e /xf "web.config" "Deploy"