PowerShellでフォルダをコピーするには Copy-Item コマンドレットに -Recurse オプションを追加して実行します。
Copy-Item -Recurse "fromFolder" "toFolder"
ただし、コピー先がフォルダなので、複数回コピーを連続して実行するとコピー先に ./toFolder/fromFolder というフォルダが作成されてしまいます。 そのため、コピーする前にコピー先が存在しないことを確認してからコピーすると意図通りのコピー先が作成されます。
$FromPath = "fromFolder"
$ToPath = "toFolder"
if (!(Test-Path $ToPath)) {
Copy-Item -Recurse $FromPath $ToPath
}
また稀に、フォルダのコピーに失敗する場合もあるので、コピーの処理をtry-catchで囲むとより安全にフローを制御することができます。
$ErrorActionPreference = "Stop"
$FromPath = "fromFolder"
$ToPath = "toFolder"
if (!(Test-Path $ToPath)) {
try {
Copy-Item -Recurse $FromPath $ToPath
} catch {
Write-Output "[!] $ToPath の作成に失敗しました。"
}
}
以上です。