Cmdlet 名稱的輸入可能會很麻煩。為了縮短命令輸入時間並且讓習慣其他殼層的使用者更容易操作 Windows PowerShell,因此 Windows PowerShell 支援「別名」的概念,也就是命令的其他名稱。您可以為 Cmdlet 名稱、函數名稱或是其他執行檔名稱建立別名,這樣便可在任何命令中輸入別名,而不用輸入 (完整) 名稱。
Windows PowerShell 包括許多內建別名,而且您可以建立自己的別名。您建立的別名只在目前工作階段中有效。若要建立永久別名,請將別名加入到您的 Windows PowerShell 設定檔。
若要找出工作階段中的所有別名,請輸入:
get-alias
若要找出 Cmdlet 的別名,請輸入:
get-alias | where-object {$_.definition -eq "<cmdlet-name>"}
例如:
get-alias | where-object {$_.definition -eq "set-location"}
Windows PowerShell 中的別名是由 Windows PowerShell 別名提供者支援,這個提供者是一種 .NET Framework 組件,其可用於檢視磁碟機 (看起來非常像是 Windows 檔案系統磁碟機) 中的別名。別名的磁碟機是 Alias:。
若要切換到 Alias 磁碟機,請輸入:
set-location alias:
若要檢視別名,也就是 Alias: 磁碟機中的子項目,請輸入:
get-childitem
若要從其他磁碟機檢視 Alias: 磁碟機中的子項目,請在命令中包括此磁碟機名稱。例如:
get-childitem alias:
建立別名
若要在 Windows PowerShell 中為 Cmdlet 和命令建立別名,請使用 Set-Alias Cmdlet。例如,若要為 Get-Help Cmdlet 建立 "gh" 別名,請輸入:
set-alias gh get-help
您也可以建立命令的別名,例如啟動程式的命令。例如,若要為 [記事本] 建立別名 "np",請輸入:
set-alias np c:\windows\notepad.exe
(您系統上的 [記事本] 路徑可能不同於此路徑。)
刪除別名
若要刪除別名,請使用 Remove-Item Cmdlet,從 Alias: 磁碟機刪除該別名。例如,若要移除 "ls" 別名,請輸入:
remove-item alias:ls
使用函數建立其他名稱
您可以為 Cmdlet、函數或執行檔建立別名,不過,您無法為包含參數的命令建立別名。然而,您可以建立作用類似於別名的函數。
例如,若要在執行 Windows XP 的電腦上使用 [記事本] 開啟 Boot.ini 檔案,請輸入:
notepad c:\boot.ini
您無法為 "notepad c:\boot.ini" 建立別名,但是可以為其建立函數。下列命令會建立 bootini 函數。
function bootini {notepad c:\boot.ini}
這個函數會提供類似別名的作用。當您在 Windows PowerShell 提示字元中輸入 bootini 時,就會以 [記事本] 開啟 Boot.ini。