もくじ
📝 はじめに
PowerShellでコマンドを実行していると、
「画面に表示された結果をそのままファイルに保存したい」
「一覧結果やエラーメッセージをログとして残したい」
「実行結果を後から確認できる形で出力したい」
という場面はとても多くあります。
そんなときに使うのが
Out-File です。
PowerShellの出力結果をファイルとして保存するための代表的なコマンドです。
- コマンド結果をテキストファイルに保存したい
- 調査結果や一覧をログとして残したい
- 画面表示用の出力をそのまま保存したい
✅ このコマンドでできること(要点)
- PowerShellの出力結果をファイルに保存できる
- 既存ファイルへの上書き・追記ができる
- 文字コードや改行コードを指定できる
- 画面表示用の整形結果をそのまま残せる
✅ Out-File でできること
Out-File は、
PowerShellで生成された出力ストリームを
テキストファイルとして保存するコマンドです。
画面に表示される内容とほぼ同じ形式で保存されるため、
「人が読むためのログ」や
「調査結果の記録」に向いています。
一方で、データ再利用よりも
可読性重視の用途に向いている点が特徴です。
🧩 基本構文
コマンド | Out-File ファイルパス
多くの場合、パイプラインと組み合わせて使います。
▶ 基本的な使い方(まずこれだけ)
🔹 コマンド結果をファイルに保存する
Get-Process | Out-File C:\Logs\process.txt
実行結果が
process.txt に保存されます。
この結果が出ていれば、正常に保存できています。
🔹 変数の内容を保存する
$msg = "処理完了: $(Get-Date)"
$msg | Out-File C:\Logs\result.txt
画面に表示される内容と同じ形式で保存されます。
🛠 よく使われる指定例
🔹 既存ファイルに追記する
Get-Service | Out-File C:\Logs\service.txt -Append
既存ファイルの末尾に結果が追加されます。
🔹 文字コードを指定して保存する
Get-ChildItem | Out-File C:\Logs\list.txt -Encoding UTF8
文字化けを防ぎたい場合に重要な指定です。
💼 実務でよく使う使用例(応用)
🔹 調査結果をログとして保存する
Get-EventLog -LogName System -Newest 50 |
Out-File C:\Logs\eventlog.txt
🔹 エラー内容をファイルに保存する
try {
Get-Item C:\NoSuchPath
}
catch {
$_ | Out-File C:\Logs\error.txt
}
- Select-Object で項目整理
- -Append で履歴ログ化
- 調査・障害対応ログの保存
🧩 よくある勘違い・つまずきポイント
- データ再利用には向かない
- 表示形式が環境で変わることがある
- 既定の文字コードで文字化けする場合がある
- Set-Content / Add-Content との違いが分かりにくい
- 巨大な出力を保存するとファイルが大きくなる
🔄 cmdとの違いについて
cmd では リダイレクト(>)を使いますが、
PowerShell の Out-File は
出力をPowerShellのストリームとして処理できます。
そのため、オブジェクト処理後の結果を
きれいな形で保存できます。
⚠ エラー・うまく動かないときの確認ポイント
- 出力先フォルダが存在しているか
- 書き込み権限があるか
- 文字コード指定が適切か
- 意図せず上書きしていないか
🧠 注意点
Out-File は
「人が読むログ」には最適ですが、
後処理で再利用する場合は
Export-Csv や
ConvertTo-Json などの
専用コマンドを検討するとよいでしょう。
📌 まとめ
- Out-File は出力結果をファイルに保存するコマンド
- 画面表示用の結果をそのまま残せる
- -Append や -Encoding が実務で重要
- ログ・調査結果の保存に向いている
🔎 PowerShellコマンドを探す
やりたいことからコマンドを探すこともできます。
- コマンド結果を保存したい
- ログをファイルに残したい
- 一覧結果を記録したい
- エラー内容を保存したい
- エラーや実行できない原因を調べたい
- PowerShellでログ管理したい
- 安全に保存したい
