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
}