もくじ
📝 はじめに
PowerShellで作業していると、
「ファイルを別の場所にコピーしたい」
「複数のファイルをまとめてコピーしたい」
「フォルダ構成ごとコピーしたい」
という場面は非常に多くあります。
そんなときに使う基本コマンドが
Copy-Item です。
ファイルやフォルダを柔軟かつ安全にコピーでき、
PowerShellスクリプトでは欠かせない存在です。
- ファイルを別フォルダへコピーしたい
- バックアップ用に複製を作りたい
- 条件に合うファイルだけコピーしたい
✅ このコマンドでできること(要点)
- ファイル・フォルダをコピーできる
- ワイルドカードで複数指定できる
- -Recurse でフォルダごとコピーできる
- スクリプトで安全にコピー処理を書ける
✅ Copy-Item でできること
Copy-Item は、
指定したファイルやフォルダを
別の場所に複製(コピー)するためのコマンドです。
移動(Move)とは異なり、
元のデータはそのまま残る点が大きな特徴です。
考え方としては「原本を残したまま、同じものをもう1つ作る」と覚えると分かりやすいでしょう。
🧩 基本構文
Copy-Item コピー元 コピー先
コピー元とコピー先を順番に指定します。
▶ 基本的な使い方(まずこれだけ)
🔹 ファイルをコピーする
Copy-Item C:\Work\sample.txt C:\Backup\sample.txt
sample.txt が
C:\Backup にコピーされます。
エラーが出なければ成功です。
🔹 フォルダへコピーする
Copy-Item C:\Work\sample.txt C:\Backup\
コピー先をフォルダにすると、
同じファイル名でコピーされます。
🛠 よく使われる指定例
🔹 複数ファイルをまとめてコピー
Copy-Item C:\Work\*.txt C:\Backup\
拡張子が .txt のファイルをすべてコピーします。
🔹 フォルダを中身ごとコピーする
Copy-Item C:\Work\Data C:\Backup\Data -Recurse
サブフォルダを含めてすべてコピーされます。
💼 実務でよく使う使用例(応用)
🔹 上書きを許可してコピー
Copy-Item C:\Work\config.json C:\Backup\config.json -Force
既存ファイルがあっても上書きされます。
🔹 条件に合うファイルだけコピー
Get-ChildItem C:\Logs -File |
Where-Object { $_.Extension -eq ".log" } |
Copy-Item -Destination C:\Backup\Logs
- Get-ChildItem で対象取得
- Where-Object で条件指定
- -Recurse でフォルダ丸ごとコピー
🧩 よくある勘違い・つまずきポイント
- フォルダコピーには -Recurse が必要
- 同名ファイルがあるとエラーになることがある
- コピー先フォルダが存在しないと失敗する場合がある
- 大量ファイルでは時間がかかる
- Move-Item と混同しやすい
🔄 cmdとの違いについて
cmd では copy や xcopy を使いますが、
PowerShell の Copy-Item は
オブジェクトとして扱える点が大きな違いです。
条件指定や後続処理との連携がしやすくなります。
⚠ エラー・うまく動かないときの確認ポイント
- コピー元ファイル・フォルダが存在しているか
- コピー先フォルダに書き込み権限があるか
- -Recurse の指定漏れがないか
- 同名ファイルの上書き設定が適切か
🧠 注意点
Copy-Item は安全なコマンドですが、
-Force を使うと既存ファイルを上書きします。
バックアップ用途では特に、
コピー先を間違えないよう注意しましょう。
📌 まとめ
- Copy-Item はファイル・フォルダをコピーする基本コマンド
- -Recurse でフォルダを丸ごとコピーできる
- 条件指定と組み合わせると実務で強力
- Move-Item との違いを意識して使う
🔎 PowerShellコマンドを探す
やりたいことからコマンドを探すこともできます。
- ファイルをコピーしたい
- バックアップを作成したい
- 複数ファイルをまとめて処理したい
- フォルダごと複製したい
- エラーや実行できない原因を調べたい
- 条件付きでコピーしたい
- 安全にファイル操作したい
