移動操作
ファイルおよびディレクトリ移動の基本
移動を行うにはMove-Itemコマンドレットを使用します。エイリアスはmi,mv,moveです。
ファイルの移動/ディレクトリの移動の基本構文は下記の通りです。
Move-Item -Path 移動元パス -Destination 移動先パス
ファイルの名前を変更して移動する
下記は「C:\Work\Test.txt」を「C:\Work2\Sample.txt」へ移動します。移動先のファイル名を変更して指定しているので、Test.txtはSample.txtという名前になって移動が行われます。内容は変更されません。

ディレクトリを移動する
下記は「C:\Work2」を「C:\Work3」の下へ移動します。
PS> Move-Item -Path C:\Work2 -Destination C:\Work3

指定した拡張子を持つファイルのみ移動する
指定した拡張子のファイルのみを移動するには、移動元に拡張子を、移動先には移動したファイル格納先のディレクトリパスを指定します。
下記は「C:\Work」以下にある*.txtファイル(拡張子がtxtのファイルすべて)を「C:\Work2」へ移動します。ただし、サブディレクトリを再帰的に検索して指定した拡張子のファイルを取得するわけではないため、「C:\Work\Sub1」などのサブディレクトリにある*.txtファイルは移動されません。
PS> Move-Item -Path C:\Work\*.txt -Destination C:\Work2


再帰的なファイルの移動
先ほどの例では、サブディレクトリのファイルは移動対象にはならないことを説明しました。
下記のようにGet-ChildItemで再帰的にファイルを抽出し、Move-Itemコマンドレットに引き渡すことでこの問題を解決することができます。ただし移動先を「C:\Work2」としていますので、「C:\Work」に存在したファイルと「C:\Work\SubDir」に存在したファイルが「C:\Work2」に集められることになります。
PS> Get-ChildItem C:\Work -Include *.txt -Recurse | Move-Item -Destination C:\Work2


