profile.mshをカスタマイズする

シェルでお馴染みの「profile.xxx」。MSHでは「profile.msh」がこれに相当します。

profile.mshはどこに置けばよいのか?

デフォルトでは「C:\Program Files\Microsoft Command Shell\Examples」にprofile.mshがありますが、
このままではMSH起動時に読み込んでくれません。
以下におく必要があります。

<マイドキュメント>\MSH\profile.msh

  • Microsoft.Management.Automation.msh_profile.msh」という名前でもOKのようです。

profile.mshをカスタマイズする

profile.mshをカスタマイズして、MSHをより便利に使いましょう。

例えば、「function prompt」を以下のように編集してみます。

function prompt
{
  $path = (get-location).Path
  $lastSeparate = $path.LastIndexOf("\")
  if ($lastSeparate -eq 2) {"MSH " + $path + "> "}
  else{"MSH " + $path.substring(0,3) + ".." + $path.substring($lastSeparate) + "> "}
}

カレントディレクトリが2階層よりも深い時、
表示されるディレクトリを短縮表示するように変更しました。


「C:\Windows\system32」は↓

MSH C:\..\system32>

「C:\Documents and Settings\newpops\デスクトップ」は↓

MSH C:\..\デスクトップ>

となります。


これで、深い階層でも使いやすくなりますね。