PowerShellでテキストファイルを1行ずつ読み込むサンプルコード †PowerShellでテキストファイルを1行ずつ読み込むサンプルコードを2つ紹介します。 関連記事 †
使用したテキストファイル †sakura tsubaki suzuran ajisai kosumosu bara ファイルを1行ずつ読み込むサンプルコード †Get-ContentコマンドレットとSystem.IO.StreamReaderを利用した2つのサンプルコードを以下に紹介します。 Get-Contentを利用したサンプルコード(その1) †以下のサンプルコードは1行毎にstring[]に格納されます。 $f = (Get-Content in.txt) -as [string[]] $i=1 foreach ($l in $f) { Write-Host $i : $l $i++ } 上記のサンプルコードを実行した時の出力です。 PS C:\work> C:\work\read1.ps1 1 : sakura tsubaki 2 : suzuran ajisai 3 : kosumosu bara Get-Contentを利用したサンプルコード(その2) †$i=1 foreach ($l in Get-Content in.txt) { Write-Host $i : $l $i++ } 上記のサンプルコードを実行した時の出力です。 PS C:\work> C:\work\read3.ps1 1 : sakura tsubaki 2 : suzuran ajisai 3 : kosumosu bara System.IO.StreamReaderを利用したサンプルコード †以下のサンプルコードは文字コードにシフトJISを指定しSystem.IO.StreamReaderオブジェクトを作成しています。 $i=1 $txt = "c:\work\in.txt" $enc = [Text.Encoding]::GetEncoding("Shift_JIS") $fh = New-Object System.IO.StreamReader($txt, $enc) while (($l = $fh.ReadLine()) -ne $null) { Write-Host $i : $l $i++ } 上記のサンプルコードを実行した時の出力です。 PS C:\work> C:\work\read2.ps1 1 : sakura tsubaki 2 : suzuran ajisai 3 : kosumosu bara 以上、PowerShellでテキストファイルを1行ずつ読み込むサンプルコードでした。 |