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

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行ずつ読み込むサンプルコードでした。


スポンサーリンク


添付ファイル: fileread3.ps1 459件 [詳細] fileread2.ps1 396件 [詳細] fileread1.ps1 1747件 [詳細] filein.txt 743件 [詳細]

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