【PowerShell】ファイル名が連番の複数テキストファイルの中身を一度に表示させるコマンド「Get-Content」(for文を利用)

仕事などで大量に送られてきたテキストファイル(証跡など中身を確認しないといけないテキスト)を確認するようなこと稀にありますよね。
今回はそのテキストファイルの中身をPowerShellコマンドで一度に表示する方法をご紹介します。
後半ではテキストファイル内の特定の文字列のみを表示する方法も記載してますので、少しでも需要があればと思っています。
前提
テキストファイルのファイル名が「文字列+連番.txt」などになっていることが理想的です。
「文字列+連番+文字列.txt」のように文字列の間が連番となっていても可能です。
今回の例ではCドライブにtestディレクトリを作成しています。
「C:\test」で実行していますのでご自身の環境に合わせて書き換えてください。
ファイル名:file1.txt ~ file10.txt
テキストの中身には「file1」~「file10」と記載しています。

例:「文字列 + 連番.txt」の中身表示
10個連番のテキストファイルの中身を表示します。
※ファイル数が多い場合は1行目の黄色い箇所の数字を変更してください。
「for ($i = 1; $i -le 10; $i++){」
1.絶対パスで実行
for ($i = 1; $i -le 10; $i++){
$filepath = "C:\test\"
$filename = $filepath + "file" + $i + ".txt"
Get-Content -Encoding UTF8 $filename
}

2.相対パスで実行(C:\test内で実行)
for ($i = 1; $i -le 10; $i++){
$filename = ".\file" + $i + ".txt"
Get-Content -Encoding UTF8 $filename
}

例:「文字列 + 連番 + 文字列.txt」の中身表示
途中が連番となっているファイル名の場合
ファイル名:file1moji.txt ~ file10moji.txt
コマンドの変更箇所(3行目):"moji.txt"
1.絶対パスで実行
for ($i = 1; $i -le 10; $i++){
$filepath = "C:\test\"
$filename = $filepath + "file" + $i + "moji.txt"
Get-Content -Encoding UTF8 $filename
}

2.相対パスで実行(C:\test内で実行)
for ($i = 1; $i -le 10; $i++){
$filename = ".\file" + $i + "moji.txt"
Get-Content -Encoding UTF8 $filename
}

テキストファイル内の特定の文字列のみを表示する
例えばですが、一部のテキストファイルに確認したい文字列が含まれている場合や
すべてのテキストファイル内に「承認します」などの文字列が含まれている行ある場合などで活用できます。
file1.txt ~ file10.txtまである中のfile3とfile6だけに「これは特定の文字列です。」と記載しています。(2つ表示されれば成功です。)
コマンドの変更箇所(3行目):| Select-String "これは特定の文字列です。"
1.絶対パスで実行
for ($i = 1; $i -le 10; $i++){
$filepath = "C:\test\"
$filename = $filepath + "file" + $i + ".txt"
Get-Content -Encoding UTF8 $filename | Select-String "これは特定の文字列です。"
}

2.相対パスで実行(C:\test内で実行)
for ($i = 1; $i -le 10; $i++){
$filename = ".\file" + $i + ".txt"
Get-Content -Encoding UTF8 $filename | Select-String "これは特定の文字列です。"
}

まとめ
いかがでしたでしょうか。
テキストファイルが50個や100個とかある時に活用すると効率良く確認することが可能になります。
ご自身の環境に合わせてコマンドを編集して実行してみてください。