みなさんこんにちは、テラド(@terashin1226)です!
PowerShellで西暦を和暦にサクッと変換する方法をお伝えしています。
前回はPowerShellを起動したときに自動で実行されるプロファイルというスクリプトを使って、関数やエイリアスを自動登録する方法をお伝えしました。
今回は関数やエイリアスが登録されるドライブという場所についてご説明します。
それではいってみましょう!
前回のおさらい
PowerShellで西暦を和暦にサクッと変換する方法を以下のようなステップでお伝えしています。
- 関数を短い名前で呼び出せるエイリアスについて ← 説明済
- 関数とエイリアスをいつでも呼び出し可能にするプロファイルについて ← 今回さらに詳しく説明!
- 西暦を和暦へ変換する関数を作成する
- 完成した関数とそのエイリアスをプロファイルに登録する
前回はPowerShellを起動したときに自動で実行されるプロファイルというスクリプトを使って、関数やエイリアスを自動登録する方法をお伝えしました。
よく使う関数やエイリアスをユーザー毎に設定できるんでしたね!
「でも…「登録する」といってもどこに登録されるの?」
と疑問を持った方が多かったかもしれません。
今回は関数やエイリアスが登録されるドライブという場所について補足します。
ドライブとは
WindowsPowerShellドライブ
実は、関数やエイリアスは「WindowsPowerShellドライブ」という場所に登録されています。
(※本記事では以降ドライブ=WindowsPowerShellドライブを指すこととします。)
ドライブはコマンドレット:Get-PSdriveで確認できますので、実際どのようなものがあるのか見てみると…
ずらっと表示されましたが、これらがPowerShellから直接アクセスができるドライブです。
関数を登録するFunctionドライブ、エイリアスを登録するAliasドライブなど用途に応じたドライブが用意されており、PowerShellが自動的に保存先を振り分けてくれます。
そのほかにも「C」、「D」というドライブが用意されていますね。
Windowsユーザーの方はこれらの名称になじみがあると思います。
そう、Windowsには「Cドライブ」「Dドライブ」が用意されていますよね!
PowerShell専用の領域であるfunctionドライブ、Aliasドライブのほか、ドライブを経由してWindowsの物理的ドライブにもアクセスすることができます。
ドライブに追加したデータはセッション終了時消えてしまう
前回ご紹介したプロファイルとドライブの関係性を確認していきましょう。
以下のようなスクリプトをISEで実行すると関数とエイリアスをドライブに登録することができます。
スクリプトは上から順に解釈されるので関数→エイリアスの順に記述するんでしたね。
function Hello-World($str){ Write-Host ("Hello! " + $str) } New-Alias -Name "hw" Hello-World
ドライブに登録すればコンソールから関数名かそのエイリアスを入力することで関数を呼び出すことができます。
さて、PowerShellを起動してから終了するまでをセッションといいます。セッションが終了するとドライブに新たに登録されたデータは消えてしまいます。
そこで登場するのが前回ご紹介したプロファイルです。セッション開始時にプロファイルが呼び出され、ドライブに関数やエイリアスを登録してくれます。
なのでセッション中は関数やエイリアスを呼び出すことができるんですね。
各ドライブに登録されたデータを確認する
では、実際に各ドライブに登録されたデータを確認していきます。
ドライブを確認するにはコマンドレット:Get-ChildItemを使用します。
ドライブ名の後ろにコロン「:」をつけると、PowerShellはそれがドライブであると認識します。
Functionドライブの場合は「function:」、Aliasドライブの場合は「alias:」とすればOKです。
例としてFunctionドライブを確認してみましょう。
Get-ChildItem fucntion:
実行すると…
Functionドライブに登録されている関数がずらっと表示されました!
Aliasは以下の記事でご紹介したようにコマンドレット:Get-Aliasでも確認できます。
実行結果はGet-ChildItemの場合と同様となります。(なぜかFunctionドライブには専用のコマンドレットは用意されていません。。)
まとめ
いかがだったでしょうか。
ドライブとはPowerShellから直接操作が可能なデータの保管場所のことです。ドライブに登録された関数やエイリアスはセッションが終了すると消えてしまうので注意が必要です。
前回ご紹介したプロファイルはPowerShell起動時、記述している関数とエイリアスをドライブに登録してくれていたんですね。
では、次回はいよいよ西暦を和暦に変換する関数を作っていきますよ!
最後までお読みいただきありがとうございました!
連載目次:Windowsのポチポチ業務を爆速化するPowerShell
Windowsのポチポチ業務(マウスを使った業務)を爆速化するために、PowerShellを使った効率化の方法をお伝えしています。- Windowsのポチポチ業務を爆速化するPowerShell、はじめのハードルぐーーんと下げてみます!
- Windowsのポチポチ業務を爆速化するPowerShell、キーボードを使わずササっと起動する方法
- Windowsのポチポチ操作を爆速化するPowerShellの絶対条件!ディレクトリとその移動をマスターしよう!
- Windowsのポチポチ業務を爆速化するPowerShell、コマンドレットを腹の底から理解する!
- Windowsのポチポチ業務を爆速化するPowerShell、オンラインヘルプでコマンドレットを使い倒す!
- Windowsのポチポチ業務を爆速化するPowerShell、統合開発環境ISEを紹介します!
- Windowsのポチポチ業務を爆速化するPowerShell、スクリプトを実行するための準備
- Windowsのポチポチ業務を爆速化するPowerShell、フォルダを作るスクリプトの作り方
- Windowsのポチポチ業務を爆速化するPowerShell、if文を使いフォルダの有無で処理を分岐させる方法
- Windowsのポチポチ業務を爆速化するPowerShell、ForEach-Objectで配列の全要素を処理する方法
- Windowsのポチポチ業務を爆速化するPowerShell、パイプラインを使いコマンドレット間で値を引き渡す方法
- Windowsのポチポチ業務を爆速化するPowerShell、ファイルを別フォルダにコピーし名称を変更する方法
- Windowsのポチポチ業務を爆速化するPowerShell、ファイル名を変更する方法
- Windowsのポチポチ業務を爆速化するPowerShell、正規表現で複雑なファイル名変更をする方法
- Windowsのポチポチ業務を爆速化するPowerShell、タスクスケジューラでスクリプトを決まった日時に起動する方法
- Windowsのポチポチ業務を爆速化するPowerShell、ファイルをバックアップするスクリプトの作り方
- Windowsのポチポチ業務を爆速化するPowerShell、関数を作ってスクリプトから呼び出す方法
- Windowsのポチポチ業務を爆速化するPowerShell、関数をコンソールで登録して呼び出す方法
- Windowsのポチポチ業務を爆速化するPowerShell、短いワードでサッと関数を呼び出すエイリアスの使い方
- Windowsのポチポチ業務を爆速化するPowerShell、関数やエイリアス保存場所のドライブを紹介します
- Windowsのポチポチ業務を爆速化するPowerShell、elseifで日付の元号を判定する方法
- Windowsのポチポチ業務を爆速化するPowerShell、日付を操るDatetime型