もくじ
📝 はじめに
PowerShellでログ調査や設定確認をしていると、
「テキストファイルの中身を確認したい」
「ログファイルをスクリプトで読みたい」
「1行ずつ処理したい」
といった場面が頻繁にあります。
そんなときに使うのが
Get-Content です。
ファイルの中身をテキストとして読み込むための、PowerShellの基本中の基本コマンドです。
- ログファイルの内容を確認したい
- 設定ファイル(txt / csv / json など)を読みたい
- ファイル内容を1行ずつ処理したい
✅ このコマンドでできること(要点)
- テキストファイルの内容を読み取れる
- 1行ずつ配列として扱える
- ログ解析や条件抽出に使える
- 他コマンドと組み合わせやすい
✅ Get-Content でできること
Get-Content は、
ファイルの内容を行単位で読み込むコマンドです。
読み込んだ内容は文字列の配列として扱われるため、
検索・抽出・条件分岐など、
スクリプト処理と非常に相性が良いのが特徴です。
「ファイルを表示する」だけでなく、
「中身をデータとして扱う」ための入口と考えると理解しやすいでしょう。
🧩 基本構文
Get-Content ファイルパス
読み取り対象となるファイルのパスを指定します。
▶ 基本的な使い方(まずこれだけ)
🔹 ファイルの中身をそのまま表示する
Get-Content C:\Logs\app.log
ファイルの内容が1行ずつ表示されます。
🔹 変数に読み込む
$lines = Get-Content C:\Logs\app.log
各行が配列として
$lines に格納されます。
🛠 よく使われる指定例
🔹 末尾の数行だけを読む(ログ確認)
Get-Content C:\Logs\app.log -Tail 10
ログファイルの最後の10行だけを表示します。
🔹 リアルタイムでログを監視する
Get-Content C:\Logs\app.log -Wait
ファイルが更新されるたびに内容が表示されます。
💼 実務でよく使う使用例(応用)
🔹 特定の文字列を含む行を抽出する
Get-Content C:\Logs\app.log |
Where-Object { $_ -match "ERROR" }
🔹 CSVや設定ファイルを1行ずつ処理する
Get-Content C:\Config\list.txt |
ForEach-Object {
Write-Host "処理対象: $_"
}
- Where-Object で検索・抽出
- Select-String と組み合わせて検索
- ログ監視・エラー検出に活用
🧩 よくある勘違い・つまずきポイント
- バイナリファイルは正しく読めない
- 巨大ファイルではメモリを大量消費する
- 文字コードの違いで文字化けする場合がある
- 1行ずつ配列になる点を理解していない
- 表示専用コマンドだと思われがち
🔄 cmdとの違いについて
cmd では type コマンドを使いますが、
PowerShell の Get-Content は
出力をオブジェクト(配列)として扱える点が大きな違いです。
そのため、検索・加工・条件分岐が非常に簡単に行えます。
⚠ エラー・うまく動かないときの確認ポイント
- 指定したファイルが存在しているか
- ファイルが他プロセスによりロックされていないか
- 文字コードの問題ではないか
- 巨大ファイルを一度に読み込んでいないか
🧠 注意点
Get-Content は非常に便利ですが、
大容量ファイルの読み込みには注意が必要です。
ログ監視などでは
-Tail や
-Wait を活用すると効率的です。
📌 まとめ
- Get-Content はファイルの中身を読む基本コマンド
- 行単位で配列として扱える
- ログ解析や設定読み込みに最適
- 他コマンドと組み合わせると強力
🔎 PowerShellコマンドを探す
やりたいことからコマンドを探すこともできます。
- ファイルの中身を確認したい
- ログを調査したい
- 特定文字列を検索したい
- 設定ファイルを読み込みたい
- エラーや実行できない原因を調べたい
- PowerShellで解析したい
- 自動処理に組み込みたい
