ある場所から別の場所にアイテムを移動します。
構文
説明
Move-Item
コマンドレットは、そのプロパティ、内容、および子アイテムを含むアイテムを、ある場所から別の場所に移動します。 たとえば、ファイルまたはサブディレクトリをあるディレクトリから別のディレクトリに移動したり、レジストリのサブキーをあるキーから別のキーに移動したりすることができます。
例
例 1: ファイルを別のディレクトリに移動して名前を変更する
このコマンドは、Test.txt
ファイルを C:
ドライブから E:\Temp
ディレクトリに移動して、名前を test.txt
から tst.txt
に変更します。
Move-Item -Path C:\test.txt -Destination E:\Temp\tst.txt
例2: ディレクトリとその内容を別のディレクトリに移動する
このコマンドは C:\Temp
ディレクトリとその内容を C:\Logs
ディレクトリに移動し、 “Temp” ディレクトリとそのすべてのサブディレクトリおよびファイルは “Logs” ディレクトリに表示されます。
Move-Item -Path C:\Temp -Destination C:\Logs
例3: 現在のディレクトリから指定された拡張子のすべてのファイルを別のディレクトリに移動する
このコマンドは、現在のディレクトリ(ドット(.
)で表される)にあるすべてのテキストファイル(*.txt
)を C:\Logs
ディレクトリに移動します。
Move-Item -Path .\*.txt -Destination C:\Logs
例4: 現在のディレクトリから指定した拡張子のファイルを再帰的に別のディレクトリに移動する
このコマンドは、現在のディレクトリとすべてのサブディレクトリのすべてのテキストファイルを、再帰的に “C:\TextFiles” ディレクトリに移動させます。
Get-ChildItem -Path ".\*.txt" -Recurse | Move-Item -Destination "C:\TextFiles"
このコマンドは、Get-ChildItem
コマンドレットを使用して、現在のディレクトリ(ドットで表される)およびそのサブディレクトリ内のすべての子アイテムで、”.Recurseパラメータを使用して再帰的に取得し、Includeパラメータを使用して取得を「.txt」ファイルに限定します。
パイプラインオペレーター (|
) はこのコマンドの結果を Move-Item
に送信し、Move-Item
はテキストファイルを “TextFiles” ディレクトリに移動させます。
「C:³³」に移動するファイルが同じ名前の場合、Move-Item
はエラーを表示して続行しますが、それぞれの名前のファイルを「C:³³」に1つだけ移動し、その他のファイルは元のディレクトリに残ります。Move-Item
は、最初の項目を “Textfiles” というファイルに移動し、そのファイルがすでに存在することを説明するエラーを表示します。Include パラメーターで .txt ファイル名拡張子フィルター (Get-ChildItem -Path .\* -Include *.txt -Recurse | Move-Item -Destination C:\TextFiles
) を指定します。
Example 5: Move registry keys and values to another key
このコマンドは、HKLM\Software
の “MyCompany” レジストリーキー内のレジストリーキーと値を “MyNewCompany” キーに移動します。ワイルドカード文字 (*
) は、キー自体ではなく、「MyCompany」キーの内容を移動することを示します。
Move-Item "HKLM:\software\mycompany\*" "HKLM:\software\mynewcompany"
例 6: ディレクトリとその内容を指定したディレクトリのサブディレクトリに移動
このコマンドは「Logs」ディレクトリ (とその内容) を「Logs」ディレクトリに移動します。
Move-Item -LiteralPath 'Logs' -Destination 'Logs'
元のディレクトリ名には左大括弧と右大括弧 (“”) が含まれているため、Path の代わりに LiteralPath パラメータを使用します。また、バックティック記号 (`) が誤って解釈されないようにパスを単一引用符 (‘ ‘) で囲みます。
Destination パラメーターは、リテラル パスを必要としません。Destination 変数も一重引用符で囲む必要があり、誤解される可能性がある大括弧が含まれているからです。
タイプ: | SwitchParameter |
エイリアス: | cf |
位置:。 | Named |
初期値: | False |
パイプライン入力を受け付けます。 | False |
ワイルドカード文字を受け入れる: | False |
Note
このパラメーターは PowerShell でインストールしたプロバイダーでサポートされていないため、このパラメーターを使用できません。このコマンドレットを実行する際に、別のユーザーになりすます、または認証情報を昇格するには、Invoke-Command を使用します。
Type: | PSCredential |
Position: | Named |
初期値: | Current user |
パイプライン入力として許可されました。 | True |
ワイルドカード文字を受け入れる: | False |
アイテムを移動する場所へのパスを指定します。デフォルトはカレントディレクトリです。ワイルドカードは許可されますが,結果は1つの場所を指定する必要があります。
移動する項目の名前を変更するには,Destinationパラメータの値に新しい名前を指定します。
Type: | String |
Position: | 1 |
初期値: | Current directory |
パイプライン入力を許可する.Destination: | Destination: | True |
ワイルドカード文字を受け入れる: | True |
操作で除外する項目または項目を、文字列配列として指定します。 このパラメータの値は、Path パラメータを修飾します。 *.txt
のようなパス要素またはパターンを入力します。 ワイルドカード文字が許可されます。 Exclude パラメータは、ワイルドカード文字が C:\Windows
ディレクトリの内容を指定する C:\Windows\*
のような項目の内容を含むコマンドの場合のみ有効です。
Type: | String |
Position: | Named |
初期値: | なし |
パイプライン入力も受け付けるようにしました。 | False |
ワイルドカード文字を受け入れる: | True |
パスパラメータを修飾するフィルターを指定します。 FileSystem プロバイダーは、フィルタの使用をサポートする唯一のインストール済み PowerShell プロバイダーです。 フィルタは、取得後に PowerShell がオブジェクトをフィルタリングするのではなく、cmdletgets 時にプロバイダが適用するため、他のパラメータよりも効率的です。
Type: | String |
Position: | Named |
初期値: | None |
パイプライン入力に同意します。 | False |
ワイルドカード文字を受け入れる: | True |
ユーザーの確認を要求せずに強制的にコマンドを実行させることができます。プロバイダによって実装が異なります。詳細は、about_Providersを参照してください。
Type: | SwitchParameter |
Position: | Named |
初期値: | False |
パイプライン入力も受け付けるようにしました。 | False |
ワイルドカード文字を受け入れる: | False |
このコマンドレットが操作に含むアイテムまたは項目を、文字列配列として指定します。 このパラメータの値は、Path パラメータを修飾します。 "*.txt"
のようなパス要素またはパターンを入力します。 ワイルドカード文字が許可されます。 Include パラメータは、コマンドに項目の内容が含まれる場合にのみ有効で、たとえば、C:\Windows\*
のように、ワイルドカード文字が C:\Windows
ディレクトリの内容を指定する場合です。
Type: | String |
Position: | Named |
初期値: | なし |
パイプライン入力に対応しました。 | False |
ワイルドカード文字を受け付ける: | True |
一つまたは複数の位置へのパスを指定する。 LiteralPathの値は、入力されたとおりに使用されます。 ワイルドカードとして解釈される文字はありません。 パスにエスケープ文字が含まれる場合は、一重引用符で囲みます。 一重引用符は、PowerShell にいかなる文字もエスケープシーケンスとして解釈しないように指示します。
詳細については、about_Quoting_Rules を参照してください。
Type: | String |
Aliases: | PSPath, LP |
Position.Path | |
名前 | |
デフォルト値: | なし |
パイプライン入力を受け付けます。 | True |
ワイルドカード文字を受け入れる: | False |
作業中の項目を示すオブジェクトを返します。デフォルトでは、このコマンドレットは出力を生成しません。
Type: | SwitchParameter |
Position: | Named |
初期値: | False |
パイプライン入力も受け付けるようにしました。 | False |
ワイルドカード文字を受け入れる: | False |
項目の現在の位置へのパスを指定します。デフォルトはカレントディレクトリです。ワイルドカード文字が使用できます。
Type: | String |
Position: | 0 |
初期値: | Current directory |
パイプライン入力も受け付けます。 | True |
Accept Wildcard characters: | True |
コマンドレットを実行するとどうなるか表示されます。コマンドレットは実行されません。
タイプ: | SwitchParameter |
エイリアス: | wi |
位置です。 | Named |
初期値: | False |
パイプライン入力を許可する。 | False |
ワイルドカード文字を受け入れる: | False |
Inputs
String
このコマンドレットへのパスを含むストリングをパイプすることができるようにします。
出力
なし、または移動したアイテムを表すオブジェクト
PassThruパラメーターを使用する場合、このコマンドレットは、移動したアイテムを表すオブジェクトを生成します。
注意事項
- このコマンドレットは、同じプロバイダーによってサポートされているドライブ間でファイルを移動しますが、同じドライブ内でのみディレクトリを移動します。
-
Move-Item
コマンドは項目のプロパティ、コンテンツおよび子項目を移動するので、デフォルトですべての移動を再帰的に行うように設計されています。セッションで利用可能なプロバイダーの一覧を表示するには、Get-PSProvider
と入力します。詳細については、about_Providersを参照してください。
- Clear-Item
- Copy-Item
- Get-Item
- Invoke-Item
- New-Item
- Remove-Item
- Rename-Item
- Set-Item
- about_Providers