前回ご紹介したスクリプトは前半の「総行数比較」と後半の「各行比較」に分かれており、今回は前半を解説します。
まず、「$NoK」と「$NoH」という二つの変数を定義しています。
これらが各テキストファイルの行数を表すのですが、そのためにコマンドレットを二つ使っています。
Get-Content コマンドレットでテキストファイルの全文を読み込み、それをパイプで Mesure-Object コマンドレットに渡す仕組みです。
Mesure-Object というのは統計情報を算出してくれるコマンドレットで、実行結果の「Count」というプロパティにはテキストの行数が出ます。
(その他、得点表のような CSV ファイルを読み込ませて、平均値を出すことなどが可能です。)
Get-Content から始まるコマンドレットの全体を「 ( ) 」で括り、最後に 「.Count」 を付ける事により、実行結果から「Count」というプロパティだけを得ることが出来ます。
その結果として、「$NoK」には「5」、「$NoH」には「4」という値が格納されます。
この二つの変数が一致するか否かを、比較演算子「-eq」により判定します。
今回のケースでは一致しないので実行結果は「False」となりますが、一致すれば「True」となります。
最後に各テキストファイルの行数を出力するのですが、値だけが出力されても分かりにくいので、「基準」「比較対象」といったタイトルと、「行」という単位を付加します。
文字列を連結する場合は、「 " " 」で括って「 + 」で繋げます。
なお、文字列と数値を連結する場合、数値の方は「 " " 」で括らなくてもいいようです。
(ただし、数値と数値を「 + 」で繋げた場合は、足し算が行われるので注意が必要です。)
後半へ続く。