Rename-Item
重命名 PowerShell 提供程序命名空间中的项。
语法
		ByPath (默认值)
	 
	Rename-Item
    [-Path] <String>
    [-NewName] <String>
    [-Force]
    [-PassThru]
    [-Credential <PSCredential>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]
		ByLiteralPath
	  
	Rename-Item
    [-NewName] <String>
    -LiteralPath <String>
    [-Force]
    [-PassThru]
    [-Credential <PSCredential>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]
说明
              Rename-Item cmdlet 更改指定项的名称。 此 cmdlet 不会影响正在重命名的项的内容。
不能使用 Rename-Item 来移动项,例如通过指定路径以及新名称。 若要移动和重命名项,请使用 Move-Item cmdlet。
示例
示例 1:重命名文件
此命令将文件 daily_file.txt 重命名为 monday_file.txt。
Rename-Item -Path "C:\logfiles\daily_file.txt" -NewName "monday_file.txt"
示例 2:重命名和移动项
不能使用 Rename-Item 来重命名和移动项。 具体而言,不能提供 NewName 参数值的路径,除非路径与 Path 参数中指定的路径相同。 否则,只允许使用新名称。
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 文件重命名为 old-project.txt 目录中的 D:\Archive。 结果将在输出中显示错误。
改用 Move-Item cmdlet。
示例 3:重命名注册表项
本示例将 广告 的注册表项重命名为 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 cmdlet 获取当前文件夹中具有 .txt 文件扩展名的所有文件,然后通过管道将其传递给 Rename-Item。 
              NewName 的值是在将值提交到 NewName 参数之前运行的脚本块。
在脚本块中,$_ 自动变量表示通过管道访问命令时的每个文件对象。 脚本块使用 -replace 运算符将每个文件的文件扩展名替换为 .log。 请注意,使用 -replace 运算符进行匹配并不区分大小写。
参数
-Confirm
在运行 cmdlet 之前,提示你进行确认。
参数属性
| 类型: | SwitchParameter | 
| 默认值: | False | 
| 支持通配符: | False | 
| 不显示: | False | 
| 别名: | cf | 
参数集
(All)
| Position: | Named | 
| 必需: | False | 
| 来自管道的值: | False | 
| 来自管道的值(按属性名称): | False | 
| 来自剩余参数的值: | False | 
-Credential
注释
任何随 PowerShell 一起安装的提供程序都不支持此参数。 要模拟其他用户,或在运行此 cmdlet 时提升凭据,请使用 Invoke-Command。
参数属性
| 类型: | PSCredential | 
| 默认值: | Current user | 
| 支持通配符: | False | 
| 不显示: | False | 
参数集
(All)
| Position: | Named | 
| 必需: | False | 
| 来自管道的值: | False | 
| 来自管道的值(按属性名称): | True | 
| 来自剩余参数的值: | False | 
-Force
强制 cmdlet 重命名无法更改的项,例如隐藏或只读文件或只读别名或变量。 cmdlet 无法更改常量别名或变量。 实现因服务提供商而异。 有关详细信息,请参阅 about_Providers。
即使使用 Force 参数,cmdlet 也不能替代安全限制。
参数属性
| 类型: | SwitchParameter | 
| 默认值: | False | 
| 支持通配符: | False | 
| 不显示: | False | 
参数集
(All)
| Position: | Named | 
| 必需: | False | 
| 来自管道的值: | False | 
| 来自管道的值(按属性名称): | False | 
| 来自剩余参数的值: | False | 
-LiteralPath 
		指定通向一个或多个位置的路径。 LiteralPath 的值严格按照所键入的形式使用。 不会将任何字符解释为通配符。 如果路径包含转义字符,请将它括在单引号中。 单引号告知 PowerShell 不要将任何字符解释为转义序列。
有关详细信息,请参阅 about_Quoting_Rules。
参数属性
| 类型: | String | 
| 默认值: | None | 
| 支持通配符: | False | 
| 不显示: | False | 
| 别名: | PSPath, LP | 
参数集
					ByLiteralPath 
					
				  
				| Position: | Named | 
| 必需: | True | 
| 来自管道的值: | False | 
| 来自管道的值(按属性名称): | True | 
| 来自剩余参数的值: | False | 
-NewName 
		指定项的新名称。 仅输入一个名称,而不是路径和名称。 如果输入的路径与 Path 参数中指定的路径不同,Rename-Item 将生成错误。
若要重命名和移动项,请使用 Move-Item。
不能在 NewName 参数的值中使用通配符。 若要为多个文件指定名称,请在正则表达式中使用 -replace 运算符。 有关-replace 运算符的详细信息,请参阅about_Comparison_Operators。
参数属性
| 类型: | String | 
| 默认值: | None | 
| 支持通配符: | False | 
| 不显示: | False | 
参数集
(All)
| Position: | 1 | 
| 必需: | True | 
| 来自管道的值: | False | 
| 来自管道的值(按属性名称): | True | 
| 来自剩余参数的值: | False | 
-PassThru 
		返回一个对象,该对象表示管道中的项。 默认情况下,此 cmdlet 不生成任何输出。
参数属性
| 类型: | SwitchParameter | 
| 默认值: | False | 
| 支持通配符: | False | 
| 不显示: | False | 
参数集
(All)
| Position: | Named | 
| 必需: | False | 
| 来自管道的值: | False | 
| 来自管道的值(按属性名称): | False | 
| 来自剩余参数的值: | False | 
-Path
指定要重命名的项的路径。
参数属性
| 类型: | String | 
| 默认值: | None | 
| 支持通配符: | False | 
| 不显示: | False | 
参数集
					ByPath 
					
				 
				| Position: | 0 | 
| 必需: | True | 
| 来自管道的值: | True | 
| 来自管道的值(按属性名称): | True | 
| 来自剩余参数的值: | False | 
-WhatIf 
		显示 cmdlet 运行时会发生什么情况。 命令脚本未运行。
参数属性
| 类型: | SwitchParameter | 
| 默认值: | False | 
| 支持通配符: | False | 
| 不显示: | False | 
| 别名: | 无线 | 
参数集
(All)
| Position: | Named | 
| 必需: | False | 
| 来自管道的值: | False | 
| 来自管道的值(按属性名称): | False | 
| 来自剩余参数的值: | False | 
CommonParameters
此 cmdlet 支持通用参数:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 有关详细信息,请参阅 about_CommonParameters。
输入
String
可以通过管道将包含路径的字符串传递给此 cmdlet。
输出
None
默认情况下,此 cmdlet 不返回任何输出。
PSObject
使用 PassThru 参数时,此 cmdlet 返回表示重命名项的对象。
备注
PowerShell 包含以下与 Rename-Item相关的别名:
- 所有平台:- ren
- rni
 
              Rename-Item 被设计用于处理任何供应商公开的数据。 若要列出会话中可用的提供程序,请键入 Get-PSProvider。 有关详细信息,请参阅 about_Providers。