PowerShell: フォルダをコピーする(上書きや階層ごと)
PowerShellのCopy-Itemコマンドレットを使ったフォルダのコピー方法について紹介します。 特に、上書きやフォルダ階層全体のコピーに焦点を当てます。 Copy-Itemコマンドレットを使えば、複雑なコピー操作も簡単に行えます。
(関連記事:ファイルのコピー)
フォルダのコピー方法
PowerShellでは、Copy-Itemコマンドレットを使用してフォルダやファイルをコピーすることができます。基本的な使い方は以下の通りです:
Copy-Item -Path <ソースパス> -Destination <宛先パス>
フォルダを上書きコピーする方法
既存のファイルを上書きしてフォルダをコピーするには、-Force
パラメータを使用します。以下の例では、既存のファイルがあっても強制的に上書きします:
Copy-Item -Path <ソースパス> -Destination <宛先パス> -Force
例:
Copy-Item -Path "C:\SourceFolder" -Destination "D:\DestinationFolder" -Force
フォルダ階層全体をコピーする方法
フォルダ階層全体をコピーするには、-Recurse
パラメータを使用します。これにより、サブフォルダやその中のファイルも含めてコピーされます:
Copy-Item -Path <ソースパス> -Destination <宛先パス> -Recurse
例:
Copy-Item -Path "C:\SourceFolder" -Destination "D:\DestinationFolder" -Recurse
応用例
特定の条件に基づいてファイルをコピーするには、-Filter
パラメータを使用します。以下の例では、テキストファイルのみをコピーします:
Copy-Item -Path <ソースパス> -Destination <宛先パス> -Filter *.txt
例:
Copy-Item -Path "C:\SourceFolder" -Destination "D:\DestinationFolder" -Filter *.txt
エラー処理を行うためには、Try-Catch
構文を使用します:
Try {
Copy-Item -Path "C:\SourceFolder" -Destination "D:\DestinationFolder" -Recurse -Force
} Catch {
Write-Error "コピー中にエラーが発生しました: $_"
}