未分類

PowerShell - プロファイルを設定するには

Windows PowerShell のプロファイルを設定すると、PowerShell IDE や powershell.exe の起動時に独自のエイリアス設定を読み込ませたりするなど、自分独自の設定を行うことができます。

手順

1. 次のいずれかのプロファイルを編集します。プロファイルを適用できるユーザーの範囲とシェルの種類に応じて 4 ファイルあります。
%windir%\system32\WindowsPowerShell\v1.0\profile.ps1 → 全てのユーザーの全てのシェル用
%windir%\system32\WindowsPowerShell\v1.0\ Microsoft.PowerShell_profile.ps1 → 全てのユーザーの Microsoft.PowerShell 用
%UserProfile%\My Documents\WindowsPowerShell\profile.ps1 → 現在のユーザーの全てのシェル用
%UserProfile%\My Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1 → 現在のユーザーの Microsoft.PowerShell 用
尚、サンプルが C:\WINDOWS\system32\windowspowershell\v1.0\examples\ に存在します。
以下、そのサンプルの内容を簡単に説明します。

エイリアスの設定

最初に set-alias コマンドレットを使用してエイリアスを多数設定しています。どれも DOS プロンプトのコマンドに対応するように工夫されています。

ファンクションの設定

こちらも DOS プロンプトのコマンドに対応するように工夫されています。エイリアスは単にコマンドレットの別名設定しかできないが、ファンクションを使用すると、引数の内容まで指定できるので、より細かな定義が可能です。

& { } の実行

最後に & { } の箇所があります。これは単にファイルシステムのドライブ名をそのままファンクションの名前として定義しているものです。

  • for ($i = 0; $i -lt 26; $i++) は、アルファベットの文字数 (26 文字) 分のループ処理を行います。
  • ([System.Char]($i+65)) は、アルファベットの ASCII コードからキャラクタに変換しています。65 は A のASCII コードなので、A, B, C, ... Z までを作成します。
  • 作成したドライブ名で、ファンクションを定義します。ここでは一度、スクリプトの内容を String 変数に保存しています。
  • 最後に invoke-expression $str で String 変数に保存されたファンクションを実行します。

-未分類