Все это может быть достигнуто с помощью одной строки.
$source = 'C:\murks\murks_source'
$dest = 'C:\murks\murks_target'
Копирование всего, кроме папок 'Sub' и их содержимого:
Get-ChildItem -Path $source -Recurse | ? {$_.Name -notmatch 'sub'} | Copy-Item -Destination $dest
Сохранение структуры папок, включая все файлы:
Get-ChildItem -Path $source | Copy-Item -Destination $dest -Recurse -Container
Копировать структуру папок, но без файлов ...
Get-ChildItem -Path $source | ? {$_.PSIsContainer} | Copy-Item -Destination $dest -Recurse -Exclude '*.*'
Очевидно, что вы можете объединить пример 1 и пример 2, чтобы сохранить структуру папок / файлов, а также исключить любой каталогВы хотите по имени, подстановочный знак и т. д.