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



Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐