WindowsのコマンドプロンプトやPowerShellを使っていて、こんなことを思ったことはありませんか?
- 「エラーメッセージを赤色で目立たせたい」
- 「成功メッセージを緑色で表示したい」
- 「画面の出力をもっと見やすくしたい」
そんな願いを叶えてくれるのが「エスケープシーケンス」という仕組みです。
でも、この便利な機能はあまり知られていません。多くの人が「コマンドの画面は白い文字だけ」と思い込んでいるのです。
この記事では、Windowsで使えるエスケープシーケンスの一覧とその使い方を、初心者の方にもわかりやすく説明します。
基本から応用まで網羅しているので、「コマンドなんて触ったことがない」という方でも大丈夫です!
エスケープシーケンスって何?

わかりやすく説明すると
エスケープシーケンスとは、コンピューターに「この文字は赤色で表示して」「カーソルを上に移動して」といった指示を出すための特別な文字の組み合わせです。
普通の文字と違って、画面に表示されることはありません。
代わりに、画面の表示方法を変える「命令」として働きます。
実際の例を見てみよう
たとえば、\x1b[31m
というエスケープシーケンスは「これから表示する文字を赤色にして」という命令です。
\x1b
は「ESC」という特別なキーを意味します[31m
は「赤色にして」という指示です
この組み合わせで、コンピューターは「あ、文字色を赤に変えるんだな」と理解します。
エスケープシーケンスを使えば、見た目がきれいで分かりやすい出力が作れます。次は、Windowsで実際に使えるエスケープシーケンスの一覧を詳しく見ていきましょう。
Windowsで使える主なエスケープシーケンス一覧
文字の色を変える
色 | エスケープシーケンス | 使う場面の例 |
---|---|---|
赤色 | \x1b[31m | エラーメッセージ |
緑色 | \x1b[32m | 成功メッセージ |
黄色 | \x1b[33m | 警告メッセージ |
青色 | \x1b[34m | 情報メッセージ |
紫色 | \x1b[35m | 特別な表示 |
水色 | \x1b[36m | 補足情報 |
白色 | \x1b[37m | 通常の文字 |
文字の見た目を変える
効果 | エスケープシーケンス | 説明 |
---|---|---|
太字 | \x1b[1m | 文字を太くして目立たせる |
下線 | \x1b[4m | 文字に下線を引く |
点滅 | \x1b[5m | 文字を点滅させる(対応環境のみ) |
反転 | \x1b[7m | 文字と背景の色を逆にする |
元に戻す・リセットする
機能 | エスケープシーケンス | 説明 |
---|---|---|
全てリセット | \x1b[0m | 色や効果を全て元に戻す |
太字解除 | \x1b[22m | 太字だけを解除する |
カーソルを動かす
動作 | エスケープシーケンス | 説明 |
---|---|---|
上に移動 | \x1b[nA | n行上にカーソルを移動 |
下に移動 | \x1b[nB | n行下にカーソルを移動 |
右に移動 | \x1b[nC | n文字右にカーソルを移動 |
左に移動 | \x1b[nD | n文字左にカーソルを移動 |
指定位置 | \x1b[y;xH | y行x列にカーソルを移動 |
画面をきれいにする
機能 | エスケープシーケンス | 説明 |
---|---|---|
画面全体クリア | \x1b[2J | 画面全体を消去する |
行をクリア | \x1b[2K | 現在の行を消去する |
カーソル以降クリア | \x1b[0J | カーソル位置以降を消去 |
この一覧を覚えることで、画面の表示を自由自在に制御できるようになります。
エスケープシーケンスの使い方と注意点
どこで使えるの?
Windowsでエスケープシーケンスを使える場所は限られています:
使える場所:
- PowerShell 7以降
- Windows Terminal
- 新しいコマンドプロンプト(Windows 10バージョン1511以降)
使えない場所:
- 古いコマンドプロンプト
- 一部の古いソフトウェア
PowerShellでの基本的な使い方
PowerShellでは、エスケープシーケンスを `e
という短縮形で書くことができます:
Write-Host "`e[32m成功しました!`e[0m"
コードの説明:
`e[32m
:文字色を緑色に変更成功しました!
:実際に表示したい文字`e[0m
:色をもとに戻す
実際に動かしてみよう
以下のコードをPowerShellにコピー&ペーストして実行してみてください:
# 色付きメッセージの例
Write-Host "`e[31mエラー:ファイルが見つかりません`e[0m"
Write-Host "`e[33m警告:容量が不足しています`e[0m"
Write-Host "`e[32m成功:処理が完了しました`e[0m"
Write-Host "`e[34m情報:システムは正常です`e[0m"
よくある失敗と対策
失敗例1:色がリセットされない
# 悪い例
Write-Host "`e[31mエラーです"
Write-Host "この文字も赤くなってしまう"
# 良い例
Write-Host "`e[31mエラーです`e[0m"
Write-Host "この文字は普通の色"
失敗例2:古いツールで使おうとする
古いコマンドプロンプトでは、エスケープシーケンスが文字として表示されてしまいます。Windows TerminalやPowerShell 7を使いましょう。
正しく設定すれば、画面の見た目がぐっと良くなり、作業効率もアップします。次は、もっと実用的な使い方を紹介します。
実際の現場で使える応用テクニック

ログファイルの内容を色分けして表示
仕事でログファイルを確認するとき、エラーや警告を色分けすると見落としが減ります:
# ログの内容に応じて色分け
function Show-ColorLog {
param($LogText)
if ($LogText -like "*ERROR*") {
Write-Host "`e[31m$LogText`e[0m" # 赤色
}
elseif ($LogText -like "*WARNING*") {
Write-Host "`e[33m$LogText`e[0m" # 黄色
}
elseif ($LogText -like "*SUCCESS*") {
Write-Host "`e[32m$LogText`e[0m" # 緑色
}
else {
Write-Host $LogText # 普通の色
}
}
# 使用例
Show-ColorLog "INFO: システム開始"
Show-ColorLog "WARNING: メモリ使用量が高いです"
Show-ColorLog "ERROR: 接続に失敗しました"
Show-ColorLog "SUCCESS: 処理が完了しました"
プログレスバーを作る
長い処理の進行状況を視覚的に表示できます:
# シンプルなプログレスバー
function Show-Progress {
param($Current, $Total, $Activity)
$Percent = [int](($Current / $Total) * 100)
$BarLength = 30
$CompletedLength = [int](($Percent / 100) * $BarLength)
$Bar = "`e[32m" + ("█" * $CompletedLength) + "`e[37m" + ("░" * ($BarLength - $CompletedLength)) + "`e[0m"
Write-Host -NoNewline "`r$Activity [$Bar] $Percent%"
}
# 使用例
for ($i = 1; $i -le 100; $i++) {
Show-Progress -Current $i -Total 100 -Activity "ファイル処理中"
Start-Sleep -Milliseconds 50
}
Write-Host "" # 改行
システム情報を見やすく表示
# システム情報の色分け表示
function Show-SystemInfo {
Write-Host "`e[36m=== システム情報 ===`e[0m"
Write-Host "`e[33mコンピューター名:`e[0m $env:COMPUTERNAME"
Write-Host "`e[33mユーザー名:`e[0m $env:USERNAME"
Write-Host "`e[33mOS:`e[0m $((Get-WmiObject Win32_OperatingSystem).Caption)"
$Memory = Get-WmiObject Win32_PhysicalMemory | Measure-Object Capacity -Sum
$MemoryGB = [math]::Round($Memory.Sum / 1GB, 2)
Write-Host "`e[33mメモリ:`e[0m ${MemoryGB}GB"
Write-Host "`e[36m==================`e[0m"
}
Show-SystemInfo
バッチ処理の結果表示
# 処理結果をまとめて表示
function Show-BatchResult {
param($SuccessCount, $ErrorCount, $TotalCount)
Write-Host "`e[36m=== 処理結果 ===`e[0m"
Write-Host "`e[32m成功: $SuccessCount件`e[0m"
Write-Host "`e[31m失敗: $ErrorCount件`e[0m"
Write-Host "`e[37m合計: $TotalCount件`e[0m"
if ($ErrorCount -eq 0) {
Write-Host "`e[32m✓ 全ての処理が正常に完了しました`e[0m"
} else {
Write-Host "`e[33m⚠ 一部の処理でエラーが発生しました`e[0m"
}
Write-Host "`e[36m===============`e[0m"
}
# 使用例
Show-BatchResult -SuccessCount 95 -ErrorCount 5 -TotalCount 100
まとめ
Windows環境でも、エスケープシーケンスを使えば画面表示の自由度が大幅にアップします。
この記事で学んだこと:
基本機能:
- 文字の色を変える(赤、緑、黄色など)
- 文字を太字や下線付きにする
- カーソルを自由に動かす
- 画面をクリアする
実用的な使い方:
- エラーメッセージを赤色で目立たせる
- 成功メッセージを緑色で表示する
- プログレスバーで処理状況を可視化する
- ログファイルを色分けして見やすくする
重要なポイント:
- PowerShell 7やWindows Terminalで使える
- 古いコマンドプロンプトでは動かない場合がある
- 必ずリセット(
\x1b[0m
)を使って元に戻す - 色を使いすぎると逆に見にくくなるので注意
コメント