もくじ
📝 はじめに
PowerShellでファイル整理や作業をしていると、
「ファイルを別のフォルダへ移動したい」
「条件に合うファイルだけ場所を変えたい」
「コピーではなく、元の場所から消したい」
という場面はよくあります。
そんなときに使うのが
Move-Item です。
ファイルやフォルダを移動(=コピーして元を削除)できる、
PowerShellの基本かつ重要なコマンドです。
- ファイル整理でフォルダを移動したい
- ログや成果物を別フォルダにまとめたい
- 条件に合うファイルだけ移動したい
✅ このコマンドでできること(要点)
- ファイルやフォルダを別の場所へ移動できる
- 移動後は元の場所から削除される
- ワイルドカードで複数指定できる
- スクリプトで安全に整理処理を書ける
✅ Move-Item でできること
Move-Item は、
指定したファイルやフォルダを
別の場所へ移動するためのコマンドです。
Copy-Item と違い、
移動後は元の場所にファイルが残らない点が特徴です。
考え方としては「引っ越しをする」とイメージすると分かりやすいでしょう。
🧩 基本構文
Move-Item 移動元 移動先
移動元と移動先を順番に指定します。
▶ 基本的な使い方(まずこれだけ)
🔹 ファイルを移動する
Move-Item C:\Work\sample.txt C:\Archive\sample.txt
sample.txt が
C:\Archive に移動します。
元の場所からファイルは消えます。
🔹 フォルダへ移動する
Move-Item C:\Work\sample.txt C:\Archive\
同名のファイルがなければ、
フォルダ内へそのまま移動されます。
🛠 よく使われる指定例
🔹 複数ファイルをまとめて移動
Move-Item C:\Work\*.log C:\Archive\Logs\
拡張子が .log のファイルをまとめて移動します。
🔹 フォルダを丸ごと移動する
Move-Item C:\Work\Data C:\Archive\Data
フォルダ構成ごと移動されます。
-Recurse は不要です。
💼 実務でよく使う使用例(応用)
🔹 上書きを許可して移動
Move-Item C:\Work\config.json C:\Archive\config.json -Force
移動先に同名ファイルがあっても上書きされます。
🔹 条件に合うファイルだけ移動
Get-ChildItem C:\Logs -File |
Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-30) } |
Move-Item -Destination C:\Archive\OldLogs
- Get-ChildItem で対象取得
- Where-Object で条件指定
- -Force で上書き許可
🧩 よくある勘違い・つまずきポイント
- 移動後は元のファイルが消える
- 同名ファイルがあるとエラーになる場合がある
- -Force を使うと上書きされる
- 大量ファイルでは時間がかかる
- Copy-Item と混同しやすい
🔄 cmdとの違いについて
cmd では move を使いますが、
PowerShell の Move-Item は
オブジェクトとして結果を扱える点が大きな違いです。
条件付き処理や後続処理が書きやすくなります。
⚠ エラー・うまく動かないときの確認ポイント
- 移動元のファイル・フォルダが存在しているか
- 移動先フォルダに書き込み権限があるか
- 同名ファイルが存在していないか
- -Force の指定が適切か
🧠 注意点
Move-Item は
データを実際に移動します。
誤った指定をすると元に戻せない場合があるため、
スクリプトでは事前確認やテスト実行を行うのがおすすめです。
📌 まとめ
- Move-Item はファイル・フォルダを移動する基本コマンド
- 移動後は元の場所から消える
- 条件指定と組み合わせると実務で強力
- Copy-Item との違いを理解して使う
🔎 PowerShellコマンドを探す
やりたいことからコマンドを探すこともできます。
- ファイルを移動したい
- フォルダを整理したい
- 条件付きでファイルを移動したい
- バックアップ後に元を片付けたい
- エラーや実行できない原因を調べたい
- Copy と Move の違いを知りたい
- 安全にファイル整理したい
