チャブーンです。
これですが、出力形式が[ファイル名],[内容の1行目]...[ファイル名],[内容のn行目]としないといけないのでしょうか?本当に特定ファイルの中身全体を単にCSVファイルに読みたい、という場合、ファイルの内容全体を配列変数の1要素に入れてしまう、という方法を採る気がします。複数行あるデータは-join "<改行に代わる連結文字>" で1行にしても、後で内容の判読は可能ですので。こんなような感じになるでしょうか?
$Contents=Get-Childitem C:\Temp|Where {$_.extension -eq ".txt"}
$Contents|Foreach {$_|Select Name,@{Name="Content";Expression={(Get-Content $_.fullname -Encoding Default) -join ";"}} | Export-CSV C:\Temp\list\file_list.csv -append -notype -encoding utf8}
もし、どうしても、今までと同様の出力形式を採りたい場合は、以下のようにできます。Select-Stringは使いません。
$Contents=Get-Childitem C:\Temp|Where {$_.extension -eq ".txt"}
$Contents|Foreach {$Name=$_.Name;Get-Content $_.Fullname -Encoding Default|Foreach {$_|Select @{Name="Name";Expression={$Name}},@{Name="Line";Expression={$_}} | Export-CSV C:\Temp\list\file_list.csv -append -notype -encoding utf8}}