エイリアス(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)を使って、ファイルに保存する必要がある。

この連載の記事
-
第508回
PC
Scalable Vector Graphics(SVG)そもそも何なのか? -
第507回
PC
Windows 11の「開発者モード」とは何か? -
第506回
PC
Windows 11は早くも来秋登場の26H2プレビューの準備が始まる -
第505回
PC
結構変化しているWindows 11のエクスプローラーの基本設定を見直す -
第504回
PC
新しいOutlookとOutlook Classic、そろそろ古いOutlookとExchangeの組み合わせは引退の頃合いか -
第503回
PC
機能が増えたこともあり、寄せ集めから統合化に進むWindowsの便利ツール「PowerToys」 -
第502回
PC
Windows 11でBluetoothのオーディオ新規格「Bluetooth LE Audio」を試す -
第501回
PC
Windows 11 Ver.25H2での変更点、新機能を整理する -
第500回
PC
Windows 11 Ver.25H2が完成した -
第499回
PC
Windowsでの致命的だが回復可能なエラーに備える手段を2つ紹介 -
第498回
PC
Windows Terminalの安定版V1.23が公開 設定UIが改良される - この連載の一覧へ











