PowerShellを使って作業をしていると、コンソール画面が大量の出力で埋まってしまうことがあります。そんなときに役立つのが Clear-Host
コマンドです。Clear-Host
を使えば、画面を一瞬でクリアでき、視認性を向上させることができます。本記事では、Clear-Host
の基本的な使い方から、他の方法との違い、ショートカットキーやスクリプトでの活用法まで詳しく解説します。PowerShellをより快適に使うために、ぜひ最後までお読みください。
PowerShellのClear-Hostコマンドとは?
PowerShellには、コンソール画面をクリアするための専用コマンドとして Clear-Host
があります。このコマンドを実行すると、スクロール可能な範囲を含めて、現在表示されている出力をすべて消去し、画面をリセットすることができます。
コマンドの基本構文
Clear-Host
または、短縮形としてエイリアス cls
や clear
も使用可能です。
cls
clear
どれも同じ動作をするため、好みに応じて使い分けることができます。
Clear-Host の主な用途
Clear-Host
は主に以下のような場面で活用されます。
- コンソール画面を整理する
長時間の作業中に出力が蓄積すると、必要な情報を探すのが困難になります。Clear-Host
を実行することで、一度画面をリセットし、すっきりした状態で作業を続けることができます。 - スクリプトの実行結果を見やすくする
スクリプトの途中でClear-Host
を挟むことで、前回の出力が邪魔にならず、重要な情報だけを表示できます。 - 誤操作を防ぐためのリセット
コマンドの誤入力後に画面をクリアすることで、余計な情報が目に入らず、作業の精度が向上します。
Clear-Host を使う際の注意点
Clear-Host
を使用する際には、以下の点に注意してください。
- コマンド履歴は削除されない
Clear-Host
は画面上の出力を消去するだけであり、コマンドの履歴自体はPowerShell内部に残っています。
履歴を完全に削除したい場合は、以下のように$history
変数をクリアする方法があります。Remove-Variable -Name history -Scope Global
- リダイレクトやパイプとの組み合わせは不可
Clear-Host
はPowerShellのホスト機能に直接影響を与えるため、標準出力にリダイレクトしたり、パイプラインでデータを処理したりすることはできません。
例えば、以下のようなコマンドは動作しません。Clear-Host | Out-File "log.txt" # 無効
Clear-Host 以外の画面クリア方法
PowerShellには、Clear-Host
以外にもコンソール画面をクリアする方法がいくつかあります。
1. Write-Host を使う
Write-Host
で改行を出力することで、疑似的に画面をクリアする方法です。
Write-Host ("`n" * 50)
この方法は、画面をスクロールさせるだけなので、上の履歴はスクロールバックできます。
2. [console]::Clear() を使う
Clear-Host
と同様の動作をする.NETのメソッドです。
[console]::Clear()
この方法は、ホスト環境によって動作が異なることがあるため注意が必要です。
3. System("cls") を使う(Windows専用)
コマンドプロンプトの cls
をPowerShellから実行する方法です。
cmd /c cls
Windows環境では有効ですが、PowerShell Core(Linux/macOS)では動作しません。
Clear-Host をスクリプトで活用する方法
PowerShellスクリプトの中で Clear-Host
を活用すると、より視認性の高い出力を実現できます。
1. スクリプトの最初にクリア
Clear-Host
Write-Host "スクリプトを開始します..."
スクリプト実行時に前回の出力を消し、新しいログが見やすくなります。
2. ループの中でクリア
for ($i=1; $i -le 10; $i++) {
Clear-Host
Write-Host "現在のカウント: $i"
Start-Sleep -Seconds 1
}
このようにループ内で Clear-Host
を使うと、数値が更新されるごとに画面がリフレッシュされ、アニメーションのような効果が得られます。
Clear-Host をショートカットで実行する
キーボードショートカットを使って Clear-Host
をすばやく実行する方法もあります。
Ctrl + L (Windows Terminal, VS Code)
- Windows Terminal や VS Code のターミナル では
Ctrl + L
を押すとClear-Host
と同じように画面がクリアされます。 - ただし、PowerShell単体のコンソールでは
Ctrl + L
は無効です。
cls コマンドを使う
cls
はClear-Host
のエイリアスとして用意されているため、ショートカット感覚で使用できます。
まとめ
PowerShellの Clear-Host
は、コンソール画面をクリアするシンプルながら便利なコマンドです。
- 基本構文は
Clear-Host
、またはcls
clear
も同じ動作をする。 - 画面を整理するのに便利で、スクリプトにも組み込める。
Write-Host
で改行を挿入したり、[console]::Clear()
を使う方法もある。Ctrl + L
でのショートカット操作も可能(環境による)。
PowerShellでの作業を効率化するために、ぜひ Clear-Host
を活用してください!