[PowerShell 2.0 入門] エイリアスを作成する

Set-Alias コマンドレットを使用すると、コマンドレットや関数、スクリプト、実行可能ファイルなどにエイリアスを作成することが出来ます。

(「エイリアスって何?」と思われた方は前回の記事「[PowerShell 2.0 入門] エイリアスについて」を参照してください)

書式は

Set-Alias -Name エイリアス -Value コマンドレット(関数、実行可能ファイルなど)

です。

-Nameパラメータと-Valueパラメータを省略して

Set-Alias エイリアス コマンドレット(関数、実行可能ファイルなど)

と記述しても構いません。

早速ですが、Get-ChildItemコマンドレットにlistというエイリアスを付けてみましょう。

Set-Alias list Get-ChildItem

これで、次回から list と入力すると Get-ChildIem コマンドレットが動作するようになります。

今度は電卓アプリケーション(C:\Windows\System32\calc.exe)にdenというエイリアスを付けてみましょう。

Set-Alias den C:\Windows\System32\calc.exe

これで、次回から den と入力すると電卓アプリケーションが起動するようになります。


エイリアスを削除する方法についても学んでおきましょう。

エイリアスを削除するには Remove-Item コマンドレットを使用します。

書式は下記の通りです。

Remove-Item Alias:/エイリアス名

例えば、先ほど作成したdenというエイリアスを削除するには下記のように入力します。

Remove-Item Alias:/den

次回はエイリアスのインポートとエクスポートについて説明します。
お楽しみに。

[PowerShell 2.0 入門] エイリアスについて

PowerShell の多くのコマンドレットには別名を持っており、この別名を入力してもコマンドレットが機能するように設計されています。

この別名のことをエイリアスと呼びます。

たとえば Clear-Host という画面を消去する機能を持つコマンドレットは Cls というエイリアスがあります。

Cls と入力すると、PowerShell はClear-Host コマンドレットを実行します。

どんなエイリアスがあるのかを調には Get-Alias というコマンドレットを使用します。

Get-Alias

特定のコマンドレットのエイリアスを調べるには、

Get-Alias -definition コマンドレット名

という書式を使用します。

たとえば Get-Command のエイリアスを調べるには

Get-Alias -definition Get-Command

と入力します。

こんどはエイリアスからコマンドレット名を調べてみましょう。

Get-Alias エイリアス名

という書式を使用します。

たとえば、gcm というエイリアスのコマンドレットを調べてみましょう。

Get-Alias gcm

gcm のコマンドレットは Get-Command であるということがわかりますね。


おまけ
普段 Unix も使用されているという方は ls, pwd, diff などを試してみてください。

これらは PowerShell が持つコマンドレットで、Unix のコマンドと同等の機能を持つものにエイリアスが付けられたものです。

ls は Get-ChildItem、pwd は Get-Location、diff は Compare-Objectのエイリアスです。

[PowerShell 2.0 入門] Tab補完

タブ補完とは、PowerShellコンソールに途中まで文字を入力して[Tab]キーを押すと、残りを自動的に補完してくれる機能のことをいいます。

例を挙げながら説明します。


・ディレクトリ/ファイル名補完

ディレクトリ名やファイル名を途中まで入力して[Tab]キーを押すと、カレントディレクトリ内にあるディレクトリ名やファイル名を補完します。

例えば C:\Work フォルダ内に Apple と Application という2つのフォルダがあるとしましょう。

C:\Work
+Apple
+Application

PowerShellコンソールでカレントディレクトリが C:\Work であるときに Apまで入力して[Tab]キーを押すと Apple、もう一度[Tab]キーを押すとApplication といったように補完が行われます。

[Tab]キーを押すと下図のようにAppleやApplicationと補完される。


・コマンドレット名の補完

コマンドレットも補完することができます。

例えば 「Get-」と入力して[Tab]キーを押していくと、「Get-」で始まるコマンドレット名が次々に表示されます。


・パラメータ名の補完

コマンドレットのパラメータも補完することが出来ます。

例えば「Get-Date -」と入力して[Tab]キーを押すとGet-Dateで使用できるパラメータを補完します。


・変数名の補完

変数名も補完することができます。

例えば、コンソール上で過去に $hiro という変数を使用したことがある場合、$hi と入力して[Tab]キーを押すと、$hiroと補完されます。

$hi まで入力して[Tab]キーを押すと


・プロパティ/メソッドの補完

プロパティ名やメソッド名を補完することができます。

例えば、$Noに数値の1を代入したあと、「$No.To」まで入力して[Tab]キーを押すと ToStringメソッド名を補完します。

$No.Toと入力して[Tab]キーを押すとToStringメソッド名を補完する。


・レジストリパスの補完

レジストリパスも補完できます。

例えばHKCU: にて「So」と入力して[Tab]キーを押すと「.Software」と補完されます。

「.Software」と補完される。

以上のように[Tab]補完を使うと入力の手間が省けますので、是非使用しましょう。

[PowerShell 2.0 入門] ショートカットキー

PowerShell で使用できるショートカットキーを紹介します。

ショートカットキー 説明
[↑]キー 今までに入力したコマンドレットの履歴を過去方向へさかのぼって表示していきます
[↑]キー 今までに入力したコマンドレットの履歴を未来方向へ表示していきます
[PgUp]キー 一番最初に入力したコマンドを表示します
[PgDn]キー 一番最後に入力したコマンドを表示します
[→]キー 一番最後に入力したコマンドを一文字ずつ補完しながら表示します
[Home]キー コマンドラインの先頭へ移動します
[End]キー コマンドラインの最後尾へ移動します
[Ctrl]+[←]キー カーソルを単語単位で先頭方向へ移動させます
[Ctrl]+[→]キー カーソルを単語単位で後方方向へ移動させます
[Ctrl]+キー 現在実行中のコマンドをキャンセルします
[F7]キー 今までに入力したコマンドの履歴をダイアログボックスで表示させ、矢印キーで選択、[Enter]キーで実行することができます

[PowerShell 2.0 入門] コマンドレットの使用方法を調べる その2

前回に引き続き、コマンドレットの使用方法を調べる方法です。

前回、コマンドレットの使用方法を調べるには Get-Help コマンドレットを使用するということを説明しました。
また、詳細説明を調べるには パラメータ -Detailed を使用することも説明しました。

詳細説明は長すぎるために、たいていのものは1画面に収まりきらず、ダラダラと表示されてしまいます。
これを1画面ずつ停止させながら参照するには More コマンドを使用します。
たとえば、Get-Date の詳細説明を1画面ずつ参照するには、次のように入力します。

Get-Help Get-Date -Detailed | More

-Detailed と More の間にあるも「|」はパイプと呼びます。
Moreコマンドを使用すると、1画面表示した後に 「–More –」 と表示されることがわかります。

続きを読みたい場合には、[Enter]キーを押します。また途中で止めたい場合には[Ctrl]+[C]キーを押します。

さて、ここでもう1つヘルプに関するコマンドを紹介します。
それは Help コマンドです(実際にはFunctionと呼ばれるものですが、Functionについては改めてこの連載で紹介します)。
Helpコマンドは Get-Help コマンドに Moreを追加した働きをします。

たとえば

Help Get-Date -Detailed

と入力すると、先ほどの

Get-Help Get-Date -Detailed | More

と同じ動作をします。
入力数が少なくてすみますし、Moreもついていますのでとても便利です。
是非活用してみてください。