PowerShell のオブジェクトハンドリングに慣れてくると、外部コマンドが出力する標準出力とか syslog とかのテキストファイルを都度解析して処理するのが面倒になります。
こんな時は、標準出力やテキストファイルをオブジェクトに変換するフィルターを書くと処理しやすくなります。
フィルターは、先頭から1行ずつ読んで $_ に格納するので、行に分解する foreach は不要です。
フィルタの出力(return)は、処理対象行を読み込むごとに1行出力するのがスタンダードパターンです。
疑似コードにしてみました。
|
例えば、ipconfig.exe の出力から IPv4 アドレスをオブジェクトにするフィルタはこんな感じになります。
|
実行するとこんな感じになります。
PS C:\> ipconfig | GetIPv4Address Name Address ---- ------- 自動構成 IPv4 アドレス 169.254.168.17 IPv4 アドレス 192.168.33.86 |
PowerShell で目的の文字列を抽出する
http://www.vwnet.jp/Windows/PowerShell/2017010401/SelectString.htm
Copyright © MURA All rights reserved.