エイリアス(Alias)は、コマンドラインやシェル関連ではコマンドに付ける「別名」を指す。今回は、Windowsのコマンドラインでのエイリアスについて解説する。
エイリアスには、たとえば長いコマンド名に短いエイリアスを付け、打鍵数を減らすといった用途がある。また、シェルによっては、コマンドの引数(アーギュメント)を含めてエイリアスを設定できることがある。この場合、特定のパラメーターやオプションを指定したコマンドを短いエイリアスで実行できる。
打鍵数を減らすという点では、エイリアスはコマンドラインの補完機能に似ているが、コマンドラインの補完機能では、コマンド名を確定させるために必要な文字数は、先頭部分を共有するコマンドに依存する。
PowerShellでは、「Get-」で始まるコマンドが大量にあり、この4文字だけでは、500個以上の候補がある。これに対して、PowerShellのエイリアスはたとえば3文字で特定のコマンド、たとえば「gci」で「Get-ChildItem」を指定できる。ただし、エイリアスの場合、必要なコマンドごとにエイリアス名(前記の例ならgci)を記憶していなければならない。
基本的には、エイリアスはシェル(コマンドライン・インタープリタ)の機能である。Windowsで利用可能なシェルには、「PowerShell(Windows PowerShellを含む)」、WSLの「bash」、cmd.exeの3つがある。このうちPowerShellとbashは、エイリアス(Alias)という名称を使う機能がある。
これに対してcmd.exeは、doskey.exeによるマクロを作成することで実質的にエイリアスを定義できる。ここでは、PowerShellとcmd.exeのエイリアス機能について解説をし、bashについては後日あらためてで考えている。
PowerShellでのエイリアス
PowerShellのエイリアスは、非常に単純なもので、コマンド名の別名だけを指定できる。エイリアスの定義に引数などを含めることはできないため、複雑なコマンドラインに別名をつけて、名前の指定だけで実行したい場合には、関数(function)を作成する必要がある。
エイリアスの定義は、「Get-Alias」コマンド(https://learn.microsoft.com/ja-jp/powershell/module/microsoft.powershell.utility/get-alias?view=powershell-7.5)で見ることができる。
引数なしでコマンドを実行すると、すべてのエイリアスを出力し、エイリアス名を指定することで定義を見ることができる。エイリアス名などの指定にはワイルドカード文字(「*」または「?」)を使うことができる。
Get-Alias rc* -Exclude *s
とすると、「rc」で始まり、最後が「s」で終わらないエイリアス名を検索する。
逆に実行されるコマンドからエイリアス名を探したい場合には、
Get-Alias -Definition Get-*Item -Exclude Get-Item*
とする。これは、「Get-*Item」というパターンのコマンドかつ、「Get-Item*」というパターンを持たないコマンドを列挙するものだ。

PowerShell/Windows PowerShellのエイリアスは、Get-Alias、Set-Aliasコマンドを使う。ただし、PowerShell/Windows PowerShellのエイリアスはコマンド名の置き換えだけしかできず、パラメーターを含めることができない
エイリアスの作成には、「New-Alias」または「Set-Alias」コマンド(https://learn.microsoft.com/ja-jp/powershell/module/microsoft.powershell.utility/set-alias?view=powershell-7.5)を使う。
前者は新規にエイリアスを作成するコマンド、後者は、エイリアスを変更するものだが、存在しないエイリアス名を指定するとエイリアスを作成する。このため、Set-Aliasコマンドだけを覚えておけばいいだろう。
Set-Alias myalias get-alias
なお、PowerShellのエイリアスは、自動的には保存されない。初期化プロファイル($PROFILE)でSet-Aliasコマンドを使って定義するか「Export-Alias」(https://learn.microsoft.com/ja-jp/powershell/module/microsoft.powershell.utility/export-alias?view=powershell-7.4)、「Import-Alias」(https://learn.microsoft.com/ja-jp/powershell/module/microsoft.powershell.utility/import-alias?view=powershell-7.4)を使って、ファイルに保存する必要がある。

この連載の記事
-
第475回
PC
Windowsのコマンドラインの補完機能について解説 -
第474回
PC
Windowsでのコマンドラインのヒストリ機能 -
第473回
PC
Windowsは内部的にどうやってインターネットへの接続状態を確認している? -
第472回
PC
WindowsのエラーをMicrosoftに送信するテレメトリ機能を理解する -
第470回
PC
Windows用のパッケージマネージャー「Winget」 プレビュー版で機能が充実してきた -
第469回
PC
Windows Updateの27年 悪役だった頃から改良が進んで、徐々に目立たない存在に -
第468回
PC
2025年のWindowsどうなる!? Windows Insider Programの状況をあらためて見る -
第467回
PC
Copilot+ PCのNPUでカメラを処理する「Windows Studio Effects」 その内容や効果は? -
第466回
PC
PowerToysの最近の新機能には、複数アプリを指定位置に起動する「ワークスペース」や新規作成のカスタマイズがある -
第465回
PC
WindowsのPowerShellからBluetoothデバイスを調べる - この連載の一覧へ