PowerShellで作業をしていると、画面がコマンドと結果でごちゃごちゃになり、「一度まっさらにしたい!」と思うことがありますよね。
そんなときに便利なのが、PowerShellで画面をクリアするコマンド、Clear-Host
です。
この記事では、Clear-Host
の基本的な使い方、ショートカットキーやエイリアスとの関係、環境による挙動の違いまで、初心者にもわかりやすく解説します。
コマンドライン操作の快適性をアップさせるちょっとしたコツも紹介しています!
Clear-Hostとは?

Clear-Host
は、PowerShellでコンソール画面をクリア(初期化)するコマンドレットです。
コマンドや出力結果で埋まった画面を一瞬でリセットできるため、以下のようなときに便利です:
- 作業の区切りでリフレッシュしたいとき
- 長い出力のあとに見やすく整理したいとき
- スクリプトの途中で画面をきれいにしたいとき
- デバッグ中にコンソール出力をクリアしたいとき
- プレゼンテーションやスクリーンショット撮影前に画面を整理したいとき
実は、Clear-Host
は標準のコマンドレットではなく、PowerShellプロファイル内で定義された関数です。
しかし、標準で組み込まれているため通常のコマンドレットと同様に使用できます。
Clear-Hostの基本的な使い方
PowerShellのコンソールまたはISE(統合スクリプト環境)で以下のように入力するだけです:
Clear-Host
これで、現在のセッション画面がまっさらにクリアされます。
ただし、注意点として、Clear-Host
を実行してもコマンド履歴(上矢印キーで呼び出せる過去のコマンド)はクリアされません。
画面表示のみをリセットする機能です。
ショートカットキーで画面をクリアする方法

手で毎回打つのは面倒…という方は、ショートカットキー「Ctrl + L」を使いましょう。
対応環境:
- Windows PowerShell → OK
- PowerShell Core(7以降) → OK
- Windows Terminal → OK
- 一部ターミナルアプリでは動作しないことがあるため注意
PowerShell ISEでは「Ctrl + L」は機能しないので注意が必要です。
代わりに「Ctrl + R」(Run Script)などが割り当てられています。
その他のショートカット:
- Visual Studio Code内のPowerShellターミナル: 「Ctrl + K」
- Windows Terminal: 「Ctrl + L」または「Ctrl + Shift + K」
clsとの違いとエイリアスの関係
実は、PowerShellでは以下のような別名(エイリアス)でも同じ動作をします:
cls
なぜ使えるの?
cls
はClear-Host
のエイリアス(別名)として定義されているからです。Get-Alias cls
を実行すると、Clear-Host
と表示されます。
またCMDコマンドプロンプトとの互換性も意識されています:
- Windowsの古いコマンドプロンプト(CMD.EXE)でも
cls
コマンドが画面クリア機能でした - PowerShellでもこの操作感を継承するために
cls
というエイリアスが用意されています
つまり、
Clear-Host
も
cls
も同じ意味です。好みや習慣で使い分ければOK!
他のエイリアスも確認してみよう
Get-Alias | Where-Object {$_.Definition -eq "Clear-Host"}
この結果、clear
やcls
がClear-Host
のエイリアスであることがわかります。
スクリプト内で画面をリセットしたいときは?

PowerShellスクリプト(.ps1)に以下を入れておけば、スクリプト実行時に画面がクリアされた状態から始まるようにできます:
Clear-Host
# または
cls
これにより、ログや出力が見やすく整理されます。
実践的な例:スクリプト内での活用
# 画面をクリア
Clear-Host
# タイトル表示
Write-Host "システム情報収集ツール" -ForegroundColor Cyan
Write-Host "======================" -ForegroundColor Cyan
# 処理実行
Get-Process | Sort-Object CPU -Descending | Select-Object -First 5
Write-Host "`n[完了] Enter キーで続行..."
Read-Host
これにより、スクリプト実行時に画面がクリアされ、きれいな状態から処理結果が表示されます。
よくあるトラブルとその対処法
トラブル例 | 原因と対策 |
---|---|
cls が効かない | エイリアスが無効化されている、または別環境(例:CMDやWSL)を使っている。Clear-Host を直接使ってみてください。 |
Ctrl + L が効かない | PowerShellウィンドウの種類(Windows Terminal、VSCodeターミナルなど)で非対応の可能性あり。それぞれのアプリケーション固有のショートカットを確認してください。 |
PowerShell ISEで動作しない | ISEは独自のエディタ環境のため、標準ショートカットが異なります。メニューの「表示」→「出力ペインのクリア」を使用するか、コマンドを直接入力してください。 |
スクロールバックバッファが残る | Clear-Host はバッファ全体ではなく画面表示のみをクリアします。完全にバッファをクリアするには、ターミナル固有の設定が必要な場合があります。 |
特殊な使用例:リモートセッションでの画面クリア
# リモートコンピュータでの実行
Invoke-Command -ComputerName RemotePC -ScriptBlock {
Clear-Host
Get-Process
}
リモートセッションでは、Clear-Host
がローカル端末に影響する場合があるので注意が必要です。
さらに進んだテクニック

プロファイルで独自のクリア関数を作成
# $PROFILE に追加
function Clear-HostAndTitle {
Clear-Host
Write-Host "=== $(Get-Date) ===" -ForegroundColor Green
Write-Host "=== $env:USERNAME @ $env:COMPUTERNAME ===" -ForegroundColor Green
Write-Host ""
}
Set-Alias clr Clear-HostAndTitle
これで、clr
と入力するだけで画面がクリアされ、現在の日時とユーザー情報が表示されます。
画面の一部だけをクリア
完全にクリアするのではなく、特定の行だけを消したい場合:
function Clear-CurrentLine {
$cursorTop = [Console]::CursorTop
[Console]::SetCursorPosition(0, $cursorTop)
[Console]::Write(new-object string(' ', [Console]::WindowWidth))
[Console]::SetCursorPosition(0, $cursorTop)
}
まとめ:画面をきれいにして効率アップ!
PowerShellで作業を快適に進めるなら、Clear-Host
(またはcls
)は覚えておいて損のない基本コマンドです。
特にスクリプトの先頭や長い処理の合間に使うことで、視認性の高い実行環境が実現できます。
ポイントまとめ
Clear-Host
は画面をクリアするPowerShellの基本コマンドcls
はそのエイリアスで、どちらでもOK- ショートカットは「Ctrl + L」(環境によって異なる)
- スクリプト内でも使えるため、整理された出力に最適!
- ただし、コマンド履歴はクリアされない
- ターミナルの種類によって挙動が異なる場合がある
PowerShellでの作業効率を高めるちょっとしたテクニックとして、今日からぜひ取り入れてみてください!
複雑なスクリプトを書いたり、多くの出力結果を確認したりする際に、画面を整理することで作業の効率と正確性が向上します。
さらに進んだPowerShellの使い方を学ぶ際も、この基本的なコマンドの理解は重要な第一歩となります。
PowerShellを使った自動化やシステム管理の世界への入り口として、まずは基本機能をしっかり押さえておきましょう。
コメント