Coreのモジュールを作ってみるはじめに初めまして。こちらでは、Webプログラミングを中心に携わっております。業務としての開発のみならず、作業や業務の効率化を開発者の視点で推進できるように試行錯誤しております。PowerShellで便利なコマンドを簡単に作ってみるための手順などを書いていこうと思います。-rvWindowsの強力な味方、PowerShellさて、Windowsで作業されている皆さんにとって、PowerShellというCLI(とシェルスクリプト実行環境)を目にする機会は多いと思われます。7の頃にMicrosoftが用意したものが起源です。PowerShellには、コマンドプロンプトには無い、魅力的な機能が備わっていました。コマンドレットは基本的に以下のもので構成されています。実行ファイルバッチファイルPowerShell関数(スクリプトで記述).NETアセンブリまた、出力される結果も、従来のシェルでは文字列(かその集合)でしたが、PowerShellではオブジェクトとして出力されます。パイプライン処理PowerShellでは、関数とコマンドの区別がありません。コマンドライン単体で呼びだせますし、関数内でも呼び出せます。)を使用して別のコマンドレットに引き継げます。できますが、PowerShellでは文字列ではなくオブジェクトを渡しています。コマンドを使用して、その結果を見てみます。file2.txtこのような出力だとピンと来ないと思われます。仮に、JSON出力で出力してみた場合を想定すると、以下のようなイメージになります。},]これを、パイプを使ってオブジェクトをフィルタリングしてみます。'd----'のもの(つまりディレクトリ)だけがフィルタリングされます。dir3JSON化イメージではこうなります。},]もちろん、さらにパイプを繋げてさらにフィルタリングできますし、変数にこのリストを紐づけできます。関数が書きやすい関数の書き方がCライクになり、構造がわかりやすくなっています。PowerShellで書いてみます。-irfを実行できます。オープンソース版がある現在、PowerShellの最新バージョンは7です。いえ、Windows標準のPowerShellは5なのです。これは一体どういうことなのでしょうか。いうものが存在しています。7(Windows(x64)用)を愛用しています。本記事でも、こちらのバージョンを前提に記載いたします。モジュールをまとめたサイトがあるPowerShellのモジュールは便利で、外部の人が作ったモジュールを取り込めます。配布している場所がバラバラだと利用者の管理が不便になります。コマンドで取り込めます。実践するここからは、実際にPowerShellのコマンドレットを開発していきます。形式で開発していきます。モジュールに関しては、Microsoftによる解説を読んでいただければ幸いですが、本記事では、そこまで難しく考える必要はございません。いう認識で問題ないと思います。いうモジュールを作ろうとしていると想定しています。Codeには、PowerShellモジュール開発に便利な拡張機能がMicrosoftによって導入されています。インストールすることをお願いいたします。marketplace.visualstudio.comモジュールを配置するディレクトリの準備PowerShellのスクリプトなどを格納するディレクトリは大体決まっております。対象のディレクトリは複数あり、PowerShell本体は、それらのディレクトリを検索してモジュールなどを取り込んでおります。開発しているスクリプトを保存しておくときは、そこに置いておいたほうが無難です。開発にお勧めのディレクトリは以下の場所です。c:\Users\(ユーザー名)\Documents\PowerShell\Modulesディレクトリが存在していない場合はあらかじめ作成をお願いいたします。上記ディレクトリを作成しましたら、その直下にモジュール名を記したディレクトリを作成します。ここで注意すべきなのは、作成するスクリプトファイル名と同じディレクトリ名にしておくことです。最終的なモジュールファイルのパスは、c:\Users\(ユーザー名)\Documents\PowerShell\Modules\EasyInstall\EasyInstall.psm1となります。しておかないと、実際にそのモジュールを取り込もうとする時にエラーが発生します。ディレクトリを作成したら、そのディレクトリのフルパスをメモしておいてください(クリップボードでもOK)。このパスは後々使うことになります。PowerShell拡張を起動します。いうツールを使用します。キーを押して、拡張メニューを開きます。いうものがありますので、それを選択します。選択すると、モジュールを構築する際に、どのテンプレートを使うのかを指示されます。次に、モジュールのパス名を促されるので、先にメモしておいたパスを記入します。今回の例では、次のパスを入力します。すると、ターミナルが開いてPlasterが起動し、モジュール環境を自動的に構築してくれます。ここからはターミナルでの作業となります。モジュールの設定を記述ここからはモジュールの設定となりますが、重要な設定は以下の二つのみです。先ほど決めたモジュール名です。