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 "コピー中にエラーが発生しました: $_"
}

参考リンク

Microsoft公式のCopy-Itemドキュメント

PowerShell