【初心者向け】PowerShellでファイルやフォルダーをコピーする方法|Copy-Itemの使い方を徹底解説

Windows

ファイルやフォルダーを手動でコピーするのは簡単ですが、大量に処理したり自動化したいときにはPowerShellのCopy-Itemコマンドが断然便利です。

こんなときに特に役立ちます:

  • 「特定の拡張子だけコピーしたい」
  • 「フォルダごとまとめてバックアップしたい」
  • 「同名ファイルを上書きせずにスクリプトで処理したい」

今回は、PowerShell初心者向けに**Copy-Itemの基本構文から実用的なオプション・注意点・エラー対応**まで丁寧に解説します。


スポンサーリンク

Copy-Itemとは?

Copy-Itemは、PowerShellでファイルやディレクトリをコピーするための基本コマンドレットです。

Windowsのバッチファイルのcopyxcopyと似ていますが、より柔軟でPowerShellらしい記述が可能なんです。まずは基本的な使い方から見てみましょう。


基本構文と使用例

基本的な構文はとてもシンプルです。

Copy-Item -Path "コピー元パス" -Destination "コピー先パス"

例:単一ファイルをコピー

Copy-Item -Path "C:\data\report.txt" -Destination "D:\backup\"

この基本形を覚えておけば、ほとんどのコピー作業ができるようになります。


フォルダをコピーする場合

フォルダごとコピーするには、-Recurseオプションを忘れずに付けましょう!

Copy-Item -Path "C:\data" -Destination "D:\backup" -Recurse

重要なポイント

-Recurseを付けないと中身がコピーされないので注意してください。
フォルダの中身も一緒にコピーしたいときは、必ずこのオプションを使いましょう。


拡張子でファイルをフィルタリングしてコピー

Get-ChildItemと組み合わせることで、特定のファイルのみをコピーできます。

特定の拡張子のファイルだけをコピー

Get-ChildItem "C:\data" -Filter "*.txt" | Copy-Item -Destination "D:\backup"

サブフォルダーも含めてコピーしたい場合

Get-ChildItem "C:\data" -Recurse -Filter "*.log" | Copy-Item -Destination "D:\backup"

この方法を覚えておくと、必要なファイルだけを効率的にコピーできるようになります。


よく使うオプション一覧

実用的なオプションをまとめました。

オプション説明
-Recurseフォルダー内のすべてのファイルも含める
-Force読み取り専用・隠し属性でもコピー
-Containerフォルダ構造もそのままコピー(デフォルト)
-Verbose実行内容を詳細表示
-WhatIf実行せずに何が起こるかを表示(確認用)

-WhatIfは特に便利で、実際にコピーする前に何が起こるかを確認できるので安心です。


よくあるエラーとその対処法

実際に使っていると、こんなエラーに遭遇することがあります。

パスが見つかりません(Path not found)

原因:指定したパスが存在しない

対策Test-Path "C:\data"で事前確認しましょう

アクセスが拒否されました(Access Denied)

原因:権限不足

対策:PowerShellを「管理者として実行」してから試してください

ディレクトリと同名ファイルが存在する

原因:同名のファイル・フォルダーがあるとコピーに失敗

対策:対象を事前に確認して削除または別名に変更

エラーが出ても慌てずに、原因を確認してから対処すれば大丈夫です。


まとめ

Copy-Itemは、PowerShellを使ったファイル管理の基本中の基本です。

大量ファイルのコピーや定期バックアップ、スクリプトによる自動化において非常に強力なツールなんです。

ポイントまとめ

  • Copy-Item -Path -Destinationで基本コピー
  • フォルダごとは-Recurseを忘れずに
  • 拡張子でのフィルターはGet-ChildItemと組み合わせる
  • エラー対策にはTest-Path-WhatIfが便利

コメント

タイトルとURLをコピーしました