このページの本文へ

前へ 1 2 次へ

Windows Info 第471回

Windowsのコマンドラインでエイリアスを使う

2025年03月02日 10時00分更新

文● 塩田紳二 編集● ASCII

  • お気に入り
  • 本文印刷

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

前へ 1 2 次へ

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン