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

[玩转系统] Set-Alias (Microsoft.PowerShell.Utility)

作者:精品下载站 日期:2024-12-14 02:03:52 浏览:16 分类:玩电脑

Set-Alias (Microsoft.PowerShell.Utility)


Set-Alias

模块 :Microsoft.PowerShell.Utility

创建或更改当前 PowerShell 会话中 cmdlet 或其他命令的别名。

句法

Set-Alias
   [-Name] <string>
   [-Value] <string>
   [-Description <string>]
   [-Option <ScopedItemOptions>]
   [-PassThru]
   [-Scope <string>]
   [-Force]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

描述

Set-Alias cmdlet 创建或更改 cmdlet 或命令(例如函数、脚本、文件或其他可执行文件)的别名。别名是指 cmdlet 或命令的备用名称。例如,salSet-Alias cmdlet 的别名。有关更多信息,请参阅 about_Aliases。

一个 cmdlet 可以有多个别名,但一个别名只能与一个 cmdlet 关联。您可以使用 Set-Alias 将现有别名重新分配给另一个 cmdlet,或更改别名的属性,例如描述。

Set-Alias 创建或更改的别名不是永久性的,仅在当前 PowerShell 会话期间可用。当 PowerShell 会话关闭时,别名将被删除。

示例

示例 1:为 cmdlet 创建别名

此命令在当前 PowerShell 会话中创建 cmdlet 的别名。

PS> Set-Alias -Name list -Value Get-ChildItem

PS> Get-Alias -Name list

CommandType     Name
-----------     ----
Alias           list -> Get-ChildItem

Set-Alias cmdlet 在当前 PowerShell 会话中创建别名。 Name 参数指定别名的名称 listValue 参数指定别名运行的 cmdlet。

要运行别名,请在 PowerShell 命令行中键入 list

示例 2:将现有别名重新分配给不同的 cmdlet

此命令重新分配现有别名以运行不同的 cmdlet。

PS> Get-Alias -Name list

CommandType     Name
-----------     ----
Alias           list -> Get-ChildItem

PS> Set-Alias -Name list -Value Get-Location

PS> Get-Alias -Name list

CommandType     Name
-----------     ----
Alias           list -> Get-Location

Get-Alias cmdlet 使用Name 参数来显示list 别名。 list 别名与 Get-ChildItem cmdlet 关联。运行 list 别名时,将显示当前目录中的项目。

Set-Alias cmdlet 使用Name 参数指定list 别名。 Value 参数将别名与 Get-Location cmdlet 关联。

Get-Alias cmdlet 使用Name 参数来显示list 别名。 list 别名与 Get-Location cmdlet 关联。运行 list 别名时,将显示当前目录的位置。

示例 3:创建和更改只读别名

此命令创建一个只读别名。只读选项可防止对别名的意外更改。要更改或删除只读别名,请使用Force参数。

Set-Alias -Name loc -Value Get-Location -Option ReadOnly -PassThru |
    Format-List -Property *

DisplayName         : loc -> Get-Location
Definition          : Get-Location
Options             : ReadOnly
Description         :
Name                : loc
CommandType         : Alias

$Parameters = @{
    Name        =  'loc'
    Value       =  (Get-Location)
    Option      =  'ReadOnly'
    Description =  'Displays the current directory'
    Force       = $true
    PassThru    = $true
}
Set-Alias @Parameters | Format-List -Property *

DisplayName         : loc -> Get-Location
Definition          : Get-Location
Options             : ReadOnly
Description         : Displays the current directory
Name                : loc
CommandType         : Alias

Set-Alias cmdlet 在当前 PowerShell 会话中创建别名。 Name 参数指定别名的名称 locValue 参数指定别名运行的 Get-Location cmdlet。 Option 参数指定ReadOnly 值。 PassThru 参数表示别名对象,并将该对象沿管道发送到 Format-List cmdlet。 Format-List 使用带星号 (*) 的 Property 参数,以便显示每个属性。示例输出显示了这些属性的部分列表。

通过添加两个参数来更改 loc 别名。 说明添加文本来解释别名的用途。需要 Force 参数,因为 loc 别名是只读的。如果未使用Force参数,则更改将失败。

示例 4:创建可执行文件的别名

此示例为本地计算机上的可执行文件创建别名。

PS> Set-Alias -Name np -Value C:\Windows\notepad.exe

PS> Get-Alias -Name np

CommandType     Name
-----------     ----
Alias           np -> notepad.exe

Set-Alias cmdlet 在当前 PowerShell 会话中创建别名。 Name 参数指定别名的名称 npValue 参数指定路径和应用程序名称 C:\Windows\notepad.exeGet-Alias cmdlet 使用Name 参数来显示np 别名与notepad.exe 关联。

要运行别名,请在 PowerShell 命令行中键入 np 以打开 notepad.exe

示例 5:为带参数的命令创建别名

此示例显示如何为带有参数的命令分配别名。

您可以为 cmdlet 创建别名,例如 Set-Location。您无法为带有参数和值的命令创建别名,例如 Set-Location -Path C:\Windows\System32。要为命令创建别名,请创建包含该命令的函数,然后创建该函数的别名。有关更多信息,请参阅 about_Functions。

Function CD32 {Set-Location -Path C:\Windows\System32}

Set-Alias -Name Go -Value CD32

创建了一个名为 CD32 的函数。该函数使用带有 Path 参数的 Set-Location cmdlet 来指定目录 C:\Windows\System32

Set-Alias cmdlet 在当前 PowerShell 会话中为该函数创建一个别名。 Name 参数指定别名的名称 GoValue 参数指定函数的名称 CD32

要运行别名,请在 PowerShell 命令行中键入 GoCD32 函数运行并更改到目录 C:\Windows\System32

示例 6:更新现有别名的选项

此示例演示如何使用 Option 参数分配多个选项。

继续上一个示例,将别名 Go 设置为 ReadOnlyPrivate

Set-Alias -Name Go -Option ReadOnly, Private

别名 Go 应该已经存在。运行该命令后,如果不使用 Force 参数,则无法更改别名,并且该别名仅在当前范围内可用。

参数

-Confirm

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

类型 :

SwitchParameter

别名:

cf

位置:

命名

默认值:

False

必需的:

False

接受管道输入:

False

接受通配符:

False

-Description

指定别名的描述。您可以输入任何字符串。如果描述包含空格,请将其用单引号引起来。

类型 :

String

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-Force

使用Force 参数更改或删除Option 参数设置为ReadOnly 的别名。

Option 参数设置为 Constant 时,Force 参数无法更改或删除别名。

类型 :

SwitchParameter

位置:

命名

默认值:

False

必需的:

False

接受管道输入:

False

接受通配符:

False

-Name

指定新别名的名称。别名可以包含字母数字字符和连字符。别名不能是数字,例如 123。

类型 :

String

位置:

0

默认值:

None

必需的:

True

接受管道输入:

True

接受通配符:

False

-Option

设置别名的 Option 属性值。 ReadOnlyConstant 等值可以保护别名免受意外更改。要查看会话中所有别名的 Option 属性,请键入 Get-Alias |格式表-属性名称,选项-自动调整大小

该参数可接受的值如下:

  • AllScope - 别名将复制到创建的任何新范围。
  • 常量 - 无法更改或删除。
  • None - 不设置任何选项,并且是默认值。
  • 私有 - 别名仅在当前范围内可用。
  • ReadOnly - 除非使用Force 参数,否则无法更改或删除。
Unspecified

这些值被定义为基于标志的枚举。您可以使用此参数将多个值组合在一起以设置多个标志。这些值可以作为值数组或这些值的逗号分隔字符串传递给 Option 参数。该 cmdlet 使用二进制 OR 运算组合这些值。将值作为数组传递是最简单的选项,并且还允许您对值使用制表符补全。

类型 :

范围项选项

接受的值:

AllScope、常量、无、私有、只读、未指定

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-PassThru

返回表示别名的对象。使用格式 cmdlet(例如 Format-List)来显示对象。默认情况下,Set-Alias 不会生成任何输出。

类型 :

SwitchParameter

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-Scope

指定此别名的有效范围。默认值为本地。有关详细信息,请参阅 about_Scopes。

可接受的值如下:

    Global
    Local
    Private
    Numbered scopes
    Script
    类型 :

    String

    接受的值:

    全局、本地、私有、编号范围、脚本

    位置:

    命名

    默认值:

    当地的

    必需的:

    False

    接受管道输入:

    False

    接受通配符:

    False

    -Value

    指定别名运行的 cmdlet 或命令的名称。 Value 参数是别名的Definition 属性。

    类型 :

    String

    位置:

    1

    默认值:

    None

    必需的:

    True

    接受管道输入:

    True

    接受通配符:

    False

    -WhatIf

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

    类型 :

    SwitchParameter

    别名:

    wi

    位置:

    命名

    默认值:

    False

    必需的:

    False

    接受管道输入:

    False

    接受通配符:

    False

    输入

    您无法将对象通过管道传输到此 cmdlet。

    输出

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

    别名信息

    当您使用 PassThru 参数时,此 cmdlet 将返回表示别名的 AliasInfo 对象。

    笔记

    PowerShell 包含以下 Set-Alias 别名:

    • 所有平台:

        sal

      PowerShell 包含每个 PowerShell 会话中可用的内置别名。 Get-Alias cmdlet 显示 PowerShell 会话中可用的别名。

      要创建别名,请使用 cmdlet Set-AliasNew-Alias。在 PowerShell 6 中,要删除别名,请使用 Remove-Alias cmdlet。接受 Remove-Item 是为了向后兼容,例如使用早期版本的 PowerShell 创建的脚本。使用诸如 Remove-Item -Path Alias:aliasname 之类的命令。

      要创建在每个 PowerShell 会话中可用的别名,请将其添加到您的 PowerShell 配置文件中。有关详细信息,请参阅 about_Profiles。

      通过执行导出和导入,可以保存别名并在另一个 PowerShell 会话中重复使用。要将别名保存到文件,请使用Export-Alias。要将已保存的别名添加到新的 PowerShell 会话,请使用 Import-Alias

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

      取消回复欢迎 发表评论:

      关灯