Как перезаписать файлы с помощью 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"