このエントリーをはてなブックマークに追加


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オブジェクトを作成しています。
あとは、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行ずつ読み込むサンプルコードでした。



添付ファイル: fileread1.ps1 2713件 [詳細] fileread2.ps1 2160件 [詳細] fileread3.ps1 2792件 [詳細] filein.txt 3294件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-03-20 (金) 22:50:47