指定した行を取得する
Get-Contentコマンドレットは配列を返します。
この配列には各行のデータが代入されているため、下記のように指定した行のデータを取得することができます。
下記では、$Lines変数へ都道府県.txtの内容を読み込んだあと、要素番号が12の行(0から数えるので13行目を指します)のデータを取得します。
PS> $Lines = Get-Content C:\Work\都道府県.txt PS> $Lines[12]

このことを利用して、下記のようにすると行番号を付加することができます
PS> $Lines = Get-Content C:\Work\都道府県.txt
PS > for ( $i = 1; $i -le $Lines.Length; $i++ )
>> {
>> ($i.ToString("0#:") + $Lines[$i - 1])
>> }
>>

指定した行数だけ読み取る
ファイルの先頭から数行だけを確認したい場面に遭遇する場合があります。このような場合は、-totalCountパラメータを使用します。このパラメータの既定値は-1ですべての行を取得するようになっています。
先頭の5行だけを確認する場合は下記のようにします。
PS C:\> Get-Content C:\Work\都道府県.txt -TotalCount 5

1度に読み出される行数を指定する
Get-Contentコマンドレットは1度にすべての行を読み込みます。このことはパイプラインで次のコマンドレットへデータを引き渡すときに大きく影響してきます。
大きなファイルを1度に読み取ることは、スクリプトの速度に影響を与えるとともに、リソースを消費することを意味します。
-ReadCountパラメータを使用すると、1度に読み取る行数を指定することが可能です。
下記は-ReadCountパラメータに5を指定し、1度に読み取る行数を5行としています。このため、パイプラインを通して渡されるデータは5行ずつとなります。
PS> Get-Content C:\Work\都道府県.txt -ReadCount 5 | ForEach-Object { "---" + $_ }

エンコードを指定したファイルの読み込み
-Encodingパラメータを使用すると、エンコードを指定してファイルを読み込むことができます。
指定可能な文字コードには、Unknown, String, Unicode, Byte, BigEndianUnicode, UTF8, UTF7, Asciiがあります。既定値はString(Shift-Jis)となっています。
下記は都道府県.txtの読み込みにString(Shift-Jis)を指定しています。
PS> Get-Content C:\Work\都道府県.txt -Encoding String

