次の方法で共有


エイリアスの使用

エイリアスは、コマンドレットまたはコマンド要素 (関数、スクリプト、ファイル、実行可能ファイルなど) の代替名または短縮名です。 実行可能ファイル名の代わりにエイリアスを使用してコマンドを実行できます。

コマンド エイリアスの管理

PowerShell には、コマンド エイリアスを管理するためのコマンドレットが用意されています。 次のコマンドは、エイリアスを管理するコマンドレットを示しています。

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 コマンドレットを使用して、環境内で使用可能なエイリアスを一覧表示します。 1 つのコマンドレットのエイリアスを一覧表示するには、 Definition パラメーターを使用し、実行可能ファイル名を指定します。

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

1 つのエイリアスの定義を取得するには、 Name パラメーターを使用します。

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

エイリアスを作成するには、 Set-Alias コマンドを使用します。 コマンドレット、関数、スクリプト、およびネイティブ実行可能ファイルのエイリアスを作成できます。

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

Windows の互換性エイリアス

PowerShell には、 Unix および cmd.exe ユーザーが Windows で使い慣れたコマンドを使用できるようにするエイリアスがいくつか用意されています。 次の表は、一般的なコマンド、関連する PowerShell コマンドレット、および PowerShell エイリアスを示しています。

Windows コマンド シェル Unix コマンド PowerShell コマンドレット PowerShell エイリアス
cdchdir cd Set-Location slcdchdir
cls clear Clear-Host cls clear
copy cp Copy-Item cpicpcopy
deleraserdrmdir rm Remove-Item rideleraserdrmrmdir
dir ls Get-ChildItem gcidirls
echo echo Write-Output write echo
md mkdir New-Item ni
move mv Move-Item mimovemi
popd popd Pop-Location popd
pwd Get-Location glpwd
pushd pushd Push-Location pushd
ren mv Rename-Item rniren
type cat Get-Content gccattype

この表のエイリアスは Windows 固有です。 一部のエイリアスは、他のプラットフォームでは使用できません。 これは、ネイティブ コマンドを PowerShell セッションで動作できるようにするためです。 たとえば、 ls は macOS または Linux では PowerShell エイリアスとして定義されていないため、 Get-ChildItemではなくネイティブ コマンドが実行されます。

パラメーターを使用したコマンドの代替名の作成

エイリアスは、コマンドレット、スクリプト、関数、または実行可能ファイルに割り当てることができます。 一部の Unix シェルとは異なり、パラメーターを持つコマンドにエイリアスを割り当てることはできません。 たとえば、Get-Eventlog コマンドレットにエイリアスを割り当てることができますが、Get-Eventlog -LogName System コマンドにエイリアスを割り当てることはできません。 パラメーターを含むコマンドを含む関数を作成する必要があります。

詳細については、about_Aliasesを参照してください。

パラメーターエイリアスと短縮名

PowerShell には、パラメーターの短縮名を作成する方法も用意されています。 パラメーターエイリアスは、パラメーターを宣言するときに Alias 属性を使用して定義されます。 これらは、 *-Alias コマンドレットを使用して定義することはできません。

詳細については、 Alias 属性 のドキュメントを参照してください。

PowerShell では、パラメーターエイリアスに加えて、パラメーターを一意に識別するために必要な最小の文字を使用してパラメーター名を指定できます。 たとえば、 Get-ChildItem コマンドレットには Recurse パラメーターと ReadOnly パラメーターがあります。 Recurse パラメーターを一意に識別するには、-Recを指定するだけで済みます。 コマンド エイリアスと組み合わせると、 Get-ChildItem -Recursedir -Recに短縮できます。

スクリプトでエイリアスを使用しない

エイリアスは、シェルで対話形式で使用する便利な機能です。 スクリプトでは常に完全なコマンドとパラメーター名を使用する必要があります。

  • プロファイル スクリプトでエイリアスを削除または再定義できます
  • 定義したエイリアスは、スクリプトのユーザーが使用できない場合があります
  • エイリアスを使用すると、コードの読み取りと保守が困難になります