[PowerShell Core 入門] エイリアスを理解する

PowerShell Core PowerShell Core
PowerShell Core

エイリアスとは

前回の記事「[PowerShell Core 入門] 基本操作」でも少し触れましたが、エイリアスとはコマンドレットに付けられた別名のことです。シェルは、エイリアスが入力されると対応するコマンドレットに変換をして実行をします。これにより、長いコマンドレット名を入力することなく、2,3文字入力するだけで実行することができます。

PowerShell で使用できる代表的なエイリアスを以下に示します。Unix系シェルやコマンドプロンプトではおなじみのものが揃っていることがわかるかと思います。

エイリアス コマンドレット
cat Get-Content
cd Set-Location
chdir Set-Location
clear Clear-Host
cls Clear-Host
copy Copy-Item
del Remove-Item
diff Compare-Object
dir Get-ChildItem
echo Write-Output
erase Remove-Item
history Get-History
kill Stop-Process
ls Get-ChildItem
mount New-PSDrive
move Move-Item
popd Pop-Location
ps Get-Process
pushd Push-Location
pwd Get-Location
ren Rename-Item
rm Remove-Item
rmdir Remove-Item
sleep Start-Sleep
sort Sort-Object
tee Tee-Object
write Write-Output

エイリアスに対応するコマンドレットを調べるには?

エイリアスに対応するコマンドレットを調べるには、Get-Alias を使用します。

例えば、エイリアス move に対応するコマンドレットは、以下のように入力をして調べます。

Get-Alias move
エイリアスに対応するコマンドレットの検索

エイリアスに対応するコマンドレットの検索

Get-Alias には「gal」というエイリアスが設定されています。

コマンドレットに対応するエイリアスを調べるには?

コマンドレットに対するエイリアスを調べる場合も、Get-Alias を使用します。

例えば、Get-ChildItem に対応するエイリアスを調べるには、-Definition プロパティを使用して以下のように入力します。

Get-Alias -Definition Get-ChildItem

実行すると、以下のように3件の結果が得られます。この結果より、Get-ChildItem には「dir」「gci」「ls」の3つのエイリアスがあることがわかります。

コマンドレットに対応するエイリアスを検索

コマンドレットに対応するエイリアスを検索

任意のコマンドレットにエイリアスを付けるには?

Set-Alias を使用すると、任意のコマンドレットにエイリアスを付けることができます。

例えば、Get-ChildItem というコマンドレットに「list」というエイリアスを付けるには、以下のようにします。

Set-Alias -Name list -Value Get-ChildItem

上記を実行したら、以下のコマンドを実行してエイリアスが付けられたかを確認してみましょう。

Get-Alias list
Set-Alias で付けたエイリアスの確認

Set-Alias で付けたエイリアスの確認

Set-Alias には「sal」というエイリアスが設定されています。

アプリケーションにエイリアスを付けて実行するには?

アプリケーションにもエイリアスを設定することができます。

例えば、Windows に搭載されている電卓「calc.exe」に、「cc」というエイリアスを設定するには以下のコマンドを実行します。

Set-Alias cc ("calc.exe")

以降は「cc」と入力すると電卓が起動するようになります。

エイリアスを削除するには?

エイリアスを削除するには Remove-Alias を使用します。「Remove-Alias 削除するエイリアス名」の書式で使用します。

先ほど「calc.exe」に付けたエイリアス「cc」を削除するには、以下のようにコマンドを入力します。

Remove-Alias cc
実際に Remove-Alias で「cc」を削除して、Get-Alias で削除されたかを確認してみた例を以下に示します。「cc」は削除されたため「This command cannot find a matching alias because an alias with the name ‘cc’ does not exist.」というエラーが出ていることがわかります。
Remove-Alias の実行例

Remove-Alias の実行例

PowerShell Core には「Remove-Alias」がありますが、Windows PowerShell には存在しません。Windows PowerShell でエイリアスを削除する場合は「Remove-Item」を使用します。「Remove-Item alias:削除するエイリアス名」のようにして削除することができます。

エイリアス情報をファイルに出力するには?

Set-Alias でエイリアスを付けることができますが、PowerShell Core を終了すると、その設定は消えてしまいます。

そこで、現在のエイリアス情報はファイルに出力しておき、必要な時に再利用をすることができます。

Export-Alias を使用することで、カンマ区切りでエイリアス情報をファイルに出力することができます。

書式は「Export-Alias -path 出力先のパス」です。

例えば、「C:¥Work¥alias.csv」に出力する場合は、以下のコマンドを実行します。

Export-Alias -path C:\work\alias.csv
出力ファイルの例

出力ファイルの例

Export-Alias には「epal」というエイリアスが設定されています。

ファイルからエイリアス情報を取得するには?

Export-Alias で出力したエイリアス情報は、Import-Alias で読み込んで再利用することができます。ただし、すでに存在するエイリアスがある場合にはエラーが出力されますので注意が必要です。

あくまでも Export-Alias は現在起動している PowerShell Core 上に存在しないエイリアスを読み込む場合に有効です。

Import-Alias の書式は「Import-Alias -path 読み込むエイリアス情報ファイル」です。

以下は、「C:¥Work¥alias.csv」を読み込む例です。

Import-Alias -path C:¥Work¥alias.txt

まとめ

今回は、エイリアス操作用のコマンドレット、Get-Alias, Set-Alias, Remove-Alias, Export-Alias, Import-Alias について説明をしました。

エイリアスを活用することで、長いコマンドレットも短い文字数で入力できますので、ぜひ活用してください。

コメント

タイトルとURLをコピーしました