4_POWERSHELLの覚書 リストに一致する行を抽出

test.ps1を実行するとwindowが起動するので、sc.csvドラッグアンドドロップして
エンターキーを押せばsc.csvの条件でmap.csvのStationを抽出してくれる。

map.csv

id Station number
1 清瀬 30
2 東久留米 40
3 ひばりが丘 50
4 保谷 60
5 大泉学園 70
6 石神井公園 80

sc.csv

40
50


test.ps1

#windowを表示するおまじない
$rui = $host.UI.RawUI
$rui.WindowSize = New-Object System.Management.Automation.Host.Size(80,30)

Write-Host "csvをドラグアンドドロップしてください。"

#csvファイル名とパスを読み込む
$ps = Read-Host

$sta = Import-Csv .\map.csv -Encoding UTF8
$ps2 = Get-Content $ps -Encoding UTF8

while($True){
    # それぞれのテーブルを表示する。
    $sta | Format-Table
    $ps2 | Format-Table

    #テーブルの条件でcsvを抽出する。

    $aaa = $sta | Where-Object -FilterScript {$ps2 -contains $_.number}
    write-host $aaa."Station"

    pause
    Clear-Host
}