Копирование Copy-Item -Path "C:\SourceFolder\1.txt" -Destination "F:\DestFolder\1.txt" Копирование папки (Без -Recurse только создаст папку) Copy-Item -Path "C:\SourceFolder\folder" -Destination "F:\DestFolder\folder" -Recurse Слияние папок Copy-Item -Path "C:\SourceFolder\*", "C:\SourceFolder2\*", "C:\SourceFolder3\*" -Destination "F:\DestFolder\" Copy-Item по умолчанию при копировании заменяет файлы в целевом каталоге. Никаких дополнительных параметров указывать не нужно. При копировании каталога, если нужно заменить каталог в целевой папке, нужно использовать ключ –Force, иначе будет ошибка “Элемент folder с указанным именем уже существует — DirectoryExists”. Для перезаписи файла с атрибутом read-only, нужно использовать ключ -Force. Если его не использовать, вы получите ошибку “отказано в доступе по пути… CopyFileInfoItemUnauthorizedAccessError”. Copy-Item -Path "C:\SourceFolder\1.txt" -Destination "F:\DestFolder\1.txt" -Force Чтобы Copy-Item скопировал файлы из одной папки в другую без замены существующих файлов, можно использовать этот простой скрипт Copy-Item (Join-Path "C:\SourceFolder\" "*") "F:\DestFolder\" -Exclude (Get-ChildItem "F:\DestFolder\") -Recurse С помощью Copy-Item можно скопировать файлы/директории выбранные с помощью wildcard символа * или с помощью символа ?. Также поддерживаются некоторые регулярные выражения Copy-Item -Path "C:\SourceFolder\fol*" -Destination "F:\DestFolder\" Copy-Item -Path "C:\SourceFolder\folder[0-3]" -Destination "F:\DestFolder\" С помощью ключа –Exclude можно исключить файлы при копировании. Например, следующая команда скопирует все файлы кроме файлов с расширением txt. Copy-Item -Path "C:\SourceFolder\*" -Destination "F:\DestFolder\" -Recurse -Force -Exclude "*.txt" Аналогичным же образом можно применить ключ –Include, например Copy-Item -Path "C:\SourceFolder\*" -Destination "F:\DestFolder\" -Recurse -Force -Include "*.txt" Скопирует только txt файлы. Хотя для простоты гораздо удобнее использовать при копировании вид -Path "C:\SourceFolder\*.txt" . При использовании ключа -Verbose вы получите подробный лог операций копирования. Скопировать только файлы: Get-ChildItem "C:\SourceFolder" -File -Recurse | Copy-Item -Destination "F:\DestFolder" Скопировать структуру папок, без файлов: $path = Get-ChildItem "C:\SourceFolder" -Recurse | ?{$_.PsIsContainer -eq $true} $dest = "F:\DestFolder\" $parent = $path[0].Parent.Name $path | foreach { $_.FullName -match "$parent.+" New-Item -ItemType directory ($dest + $Matches[0]) } C:\UCS\iiko\iikoRMS\Front.Net Copy-Item -Path "C:\UCS\iiko\iikoRMS\Front.Net\Agent.dll" -Destination "C:\UCS\patch\23\" -Force -Verbose Copy-Item -Path "C:\UCS\iiko\iikoRMS\Front.Net\Resto.CashServer.Configs.dll" -Destination "C:\UCS\patch\23\" -Force -Verbose Copy-Item -Path "C:\UCS\iiko\iikoRMS\Front.Net\Resto.CashServer.dll" -Destination "C:\UCS\patch\23\" -Force -Verbose Copy-Item -Path "C:\UCS\iiko\iikoRMS\Front.Net\Resto.CashServer.Services.dll" -Destination "C:\UCS\patch\23\" -Force -Verbose Copy-Item -Path "C:\UCS\patch\fls\*" -Destination "C:\UCS\iiko\iikoRMS\Front.Net\" -Force -Verbose C:\UCS\iiko\iikoRMS\Front.Net\reboot.bat Copy-Item -Path "C:\patch\reboot.bat" -Destination "C:\Program Files\iiko\iikoRMS\" -Force -Verbose