Rename-Item
PowerShell プロバイダー名前空間内の項目の名前を変更します。
構文
Rename-Item
[-Path] <String>
[-NewName] <String>
[-Force]
[-PassThru]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Rename-Item
-LiteralPath <String>
[-NewName] <String>
[-Force]
[-PassThru]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
説明
コマンドレットは Rename-Item
、指定した項目の名前を変更します。 このコマンドレットを使用しても、名前を変更する項目の内容には影響ありません。
新しい名前と共にパスを指定するなど、項目を移動するために使用 Rename-Item
することはできません。 項目を移動して名前を変更するには、コマンドレットを Move-Item
使用します。
例
例 1: ファイルの名前を変更する
このコマンドは、ファイルdaily_file.txt
monday_file.txt
の名前を .
Rename-Item -Path "c:\logfiles\daily_file.txt" -NewName "monday_file.txt"
例 2: アイテムの名前を変更して移動する
アイテムの名前変更と移動の両方に使用 Rename-Item
することはできません。 具体的には、パスが Path パラメーターで指定されたパスと同じでない限り、NewName パラメーターの値のパスを指定することはできません。 そうでない場合は、新しい名前のみが許可されます。
Rename-Item -Path "project.txt" -NewName "d:\archive\old-project.txt"
Rename-Item : can't rename because the target specified represents a path or device name.
At line:1 char:12
+ Rename-Item <<<< -path project.txt -NewName d:\archive\old-project.txt
+ CategoryInfo : InvalidArgument: (:) [Rename-Item], PS> Move-Item -Path "project.txt" -De
stination "d:\archive\old-project.txt"
次の使用例は、現在のディレクトリ内のproject.txt
ファイルの名前をディレクトリ内D:\Archive
にold-project.txt
変更しようとします。 結果は出力に示されるようなエラーになります。
代わりにコマンドレットを Move-Item
使用してください。
例 3: レジストリ キーの名前を変更する
この例では、レジストリ キーの名前を Advertising から Marketing に変更します。 コマンドが完了すると、キーの名前が変更されますが、キーのレジストリ エントリに変更はありません。
Rename-Item -Path "HKLM:\Software\MyCompany\Advertising" -NewName "Marketing"
例 4: 複数のファイルの名前を変更する
次の使用例は、現在の *.txt
ディレクトリ *.log
内のすべてのファイルの名前を .
Get-ChildItem *.txt
Directory: C:\temp\files
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 10/3/2019 7:47 AM 2918 Friday.TXT
-a---- 10/3/2019 7:46 AM 2918 Monday.Txt
-a---- 10/3/2019 7:47 AM 2918 Wednesday.txt
Get-ChildItem *.txt | Rename-Item -NewName { $_.Name -replace '.txt','.log' }
Get-ChildItem *.log
Directory: C:\temp\files
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 10/3/2019 7:47 AM 2918 Friday.log
-a---- 10/3/2019 7:46 AM 2918 Monday.log
-a---- 10/3/2019 7:47 AM 2918 Wednesday.log
このコマンドレットは Get-ChildItem
、現在のフォルダー内のファイル拡張子を持つすべてのファイルを .txt
取得し、それらを Rename-Item
. NewName の値は、値が NewName パラメーターに送信される前に実行されるスクリプト ブロックです。
スクリプト ブロックでは、自動変数は、パイプラインを $_
介してコマンドに来るときの各ファイル オブジェクトを表します。 スクリプト ブロックでは、演算子を -replace
使用して、各ファイル .log
のファイル拡張子を . 演算子を使用した照合では大文字と小文字が区別されないことに -replace
注意してください。
パラメーター
-Confirm
コマンドレットの実行前に確認を求めるメッセージが表示されます。
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
Note
このパラメーターは、PowerShell でインストールされているプロバイダーではサポートされていません。 別のユーザーを偽装したり、このコマンドレットの実行時に資格情報を昇格したりするには、Invoke-Command を使用 します。
Type: | PSCredential |
Position: | Named |
Default value: | Current user |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Force
非表示または読み取り専用のファイルや読み取り専用のエイリアスや変数など、変更できない項目の名前を変更するようにコマンドレットに強制します。 コマンドレットは、定数のエイリアスや変数を変更できません。 実装はプロバイダーごとに異なります。 詳細については、「about_Providers」を参照してください。
Force パラメーターを使用しても、コマンドレットはセキュリティ制限をオーバーライドできません。
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-LiteralPath
1 つ以上の場所へのパスを指定します。 LiteralPath の値は、型指定されたとおりに使用されます。 ワイルドカードとして解釈される文字はありません。 パスにエスケープ文字が含まれている場合は、単一引用符で囲みます。 単一引用符は、エスケープ シーケンスとして文字を解釈しないように PowerShell に指示します。
詳細については、「about_Quoting_Rules」を参照してください。
Type: | String |
Aliases: | PSPath, LP |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-NewName
項目の新しい名前を指定します。 パスと名前ではなく、名前のみを入力します。 Path パラメーターで指定されたパスとは異なるパスを入力すると、Rename-Item
エラーが発生します。
アイテムの名前を変更して移動するには、次のコマンドを使用 Move-Item
します。
NewName パラメーターの値にワイルドカード文字を使用することはできません。 複数のファイルの名前を指定するには、正規表現で Replace 演算子を使用します。 Replace 演算子の詳細については、「about_Comparison_Operators」を参照してください。
Type: | String |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-PassThru
パイプラインに項目を表すオブジェクトを返します。 既定では、このコマンドレットによる出力はありません。
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
名前を変更する項目のパスを指定します。
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-WhatIf
コマンドレットの実行時に発生する内容を示します。 このコマンドレットは実行されません。
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
入力
このコマンドレットへのパスを含む文字列をパイプ処理できます。
出力
None
既定では、このコマンドレットは出力を返しません。
PassThru パラメーターを使用すると、このコマンドレットは名前が変更された項目を表すオブジェクトを返します。
メモ
PowerShell には、次のエイリアスが Rename-Item
含まれています。
- すべてのプラットフォーム:
ren
rni
Rename-Item
は、任意のプロバイダーによって公開されるデータを操作するように設計されています。 セッションで使用可能なプロバイダーを一覧表示するには、「.」と入力します Get-PsProvider
。 詳細については、「about_Providers」を参照してください。
関連リンク
PowerShell
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示