共用方式為


使用別名

別名是 Cmdlet 或命令元素的替代名稱或速記名稱,例如函式、腳本、檔案或可執行檔。 您可以使用 別名來執行命令,而不是可執行文件名稱。

管理命令別名

PowerShell 提供用於管理命令別名的 Cmdlet。 下列命令顯示管理別名的 Cmdlet。

Get-Command -Noun Alias
CommandType Name         Version Source
----------- ----         ------- ------
Cmdlet      Export-Alias 7.0.0.0 Microsoft.PowerShell.Utility
Cmdlet      Get-Alias    7.0.0.0 Microsoft.PowerShell.Utility
Cmdlet      Import-Alias 7.0.0.0 Microsoft.PowerShell.Utility
Cmdlet      New-Alias    7.0.0.0 Microsoft.PowerShell.Utility
Cmdlet      Remove-Alias 7.0.0.0 Microsoft.PowerShell.Utility
Cmdlet      Set-Alias    7.0.0.0 Microsoft.PowerShell.Utility

如需詳細資訊,請參閱 about_Aliases

使用 Get-Alias Cmdlet 列出環境中可用的別名。 若要列出單一 Cmdlet 的別名,請使用 Definition 參數並指定可執行文件名稱。

Get-Alias -Definition Get-ChildItem
CommandType     Name
-----------     ----
Alias           dir -> Get-ChildItem
Alias           gci -> Get-ChildItem
Alias           ls -> Get-ChildItem

若要取得單一別名的定義,請使用 Name 參數。

Get-Alias -Name gci
CommandType     Name
-----------     ----
Alias           gci -> Get-ChildItem

若要建立別名,請使用 Set-Alias 命令。 您可以建立 Cmdlet、函式、腳稿和原生可執行文件的別名。

Set-Alias -Name np -Value Notepad.exe
Set-Alias -Name cmpo  -Value Compare-Object

Windows 中的相容性別名

PowerShell 有數個別名,可讓 UNIXcmd.exe 使用者在 Windows 中使用熟悉的命令。 下表顯示一般命令、相關的 PowerShell Cmdlet 和 PowerShell 別名:

cmd.exe命令 UNIX 命令 PowerShell Cmdlet PowerShell 別名
cdchdir cd Set-Location sl、 、 cdchdir
cls clear Clear-Host cls clear
copy cp Copy-Item cpi、 、 cpcopy
deleraserdrmdir Rm Remove-Item ri、、deleraserd、、rmrmdir
dir ls Get-ChildItem gci、 、 dirls
echo echo Write-Output write echo
md mkdir New-Item ni
move Mv Move-Item mi、 、 movemi
popd popd Pop-Location popd
pwd Get-Location gl, pwd
pushd pushd Push-Location pushd
ren Mv Rename-Item rni, ren
type cat Get-Content gc、 、 cattype

注意

此數據表中的別名是 Windows 特定的。 其他平台上無法使用某些別名。 這是允許原生命令在PowerShell工作階段中運作。 例如, ls 未在macOS或Linux上定義為PowerShell別名,因此會執行原生命令, Get-ChildItem而不是 。

使用參數建立命令的替代名稱

您可以將別名指派給 Cmdlet、腳稿、函式或可執行檔。 不同於某些 Unix 殼層,您無法使用參數將別名指派給命令。 例如,您可以將別名指派給 Get-Eventlog Cmdlet,但無法將別名指派給 Get-Eventlog -LogName System 命令。 您必須建立包含具有參數之命令的函式。

如需詳細資訊,請參閱 about_Aliases

參數別名和速記名稱

PowerShell 也提供為參數建立速記名稱的方法。 當您宣告 參數時, Alias 會使用 屬性來定義參數別名。 這些無法使用 Cmdlet 來定義 *-Alias

如需詳細資訊,請參閱 別名屬性 檔。

除了參數別名之外,PowerShell 還可讓您使用唯一識別參數所需的最少字元來指定參數名稱。 例如, Get-ChildItem Cmdlet 具有 RecurseReadOnly 參數。 若要唯一識別 Recurse 參數,您只需要提供 -rec。 如果您將它與命令別名結合, Get-ChildItem -Recurse 可以縮短為 dir -rec

請勿在腳本中使用別名

別名是可在殼層中以互動方式使用的便利功能。 您應該一律在文稿中使用完整的命令和參數名稱。

  • 您可以在設定檔文稿中刪除或重新定義別名
  • 您定義的任何別名都可能無法供腳本的使用者使用
  • 別名可讓您的程式代碼更難讀取和維護