当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] Rename-Item (Microsoft.PowerShell.Management)

作者:精品下载站 日期:2024-12-14 02:11:18 浏览:13 分类:玩电脑

Rename-Item (Microsoft.PowerShell.Management)


Rename-Item

模块 :Microsoft.PowerShell.Management

重命名 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 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 文件重命名为 D:\Archive 目录中的 old-project.txt。结果是输出中显示的错误。

请改用 Move-Item cmdlet。

示例 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 cmdlet 获取当前文件夹中具有 .txt 文件扩展名的所有文件,然后将它们通过管道传输到 Rename-ItemNewName 的值是一个脚本块,在将该值提交给 NewName 参数之前运行。

在脚本块中,$_ 自动变量代表通过管道到达命令的每个文件对象。脚本块使用 -replace 运算符将每个文件的文件扩展名替换为 .log。请注意,使用 -replace 运算符进行匹配不区分大小写。

参数

-Confirm

在运行 cmdlet 之前提示您进行确认。

类型 :

SwitchParameter

别名:

cf

位置:

命名

默认值:

False

必需的:

False

接受管道输入:

False

接受通配符:

False

-Credential

笔记

随 PowerShell 安装的任何提供程序均不支持此参数。要在运行此 cmdlet 时模拟其他用户或提升您的凭据,请使用 Invoke-Command。

类型 :

PS凭证

位置:

命名

默认值:

当前用户

必需的:

False

接受管道输入:

True

接受通配符:

False

-Force

强制 cmdlet 重命名无法更改的项目,例如隐藏或只读文件或只读别名或变量。 cmdlet 无法更改常量别名或变量。实施方式因提供商而异。有关详细信息,请参阅 about_Providers。

即使使用 Force 参数,cmdlet 也无法覆盖安全限制。

类型 :

SwitchParameter

位置:

命名

默认值:

False

必需的:

False

接受管道输入:

False

接受通配符:

False

-LiteralPath

指定到一个或多个位置的路径。 LiteralPath 的值完全按照键入的方式使用。没有字符被解释为通配符。如果路径包含转义字符,请将其用单引号引起来。单引号告诉 PowerShell 不要将任何字符解释为转义序列。

有关更多信息,请参阅 about_Quoting_Rules。

类型 :

String

别名:

PSPath, LP

位置:

命名

默认值:

None

必需的:

True

接受管道输入:

True

接受通配符:

False

-NewName

指定项目的新名称。仅输入名称,而不输入路径和名称。如果您输入的路径与 Path 参数中指定的路径不同,Rename-Item 会生成错误。要重命名和移动项目,请使用 Move-Item

您不能在 NewName 参数的值中使用通配符。要为多个文件指定名称,请在正则表达式中使用替换运算符。有关 Replace 运算符的详细信息,请参阅 about_Comparison_Operators。

类型 :

String

位置:

1

默认值:

None

必需的:

True

接受管道输入:

True

接受通配符:

False

-PassThru

返回一个表示管道项目的对象。默认情况下,此 cmdlet 不生成任何输出。

类型 :

SwitchParameter

位置:

命名

默认值:

False

必需的:

False

接受管道输入:

False

接受通配符:

False

-Path

指定要重命名的项目的路径。

类型 :

String

位置:

0

默认值:

None

必需的:

True

接受管道输入:

True

接受通配符:

False

-WhatIf

显示 cmdlet 运行时会发生什么情况。该 cmdlet 未运行。

类型 :

SwitchParameter

别名:

wi

位置:

命名

默认值:

False

必需的:

False

接受管道输入:

False

接受通配符:

False

输入

字符串

您可以通过管道传输包含此 cmdlet 路径的字符串。

输出

默认情况下,此 cmdlet 不返回任何输出。

PSObject

当您使用 PassThru 参数时,此 cmdlet 返回一个表示重命名项的对象。

笔记

PowerShell 包含以下 Rename-Item 别名:

  • 所有平台:

      ren
    rni

    Rename-Item 旨在处理任何提供者公开的数据。要列出会话中可用的提供程序,请输入 Get-PsProvider。有关详细信息,请参阅 about_Providers。

    您需要 登录账户 后才能发表评论

    取消回复欢迎 发表评论:

    关灯