【保存版】Windowsで使えるエスケープシーケンス一覧と使い方|コマンド操作がもっと便利に!

Windows

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[nAn行上にカーソルを移動
下に移動\x1b[nBn行下にカーソルを移動
右に移動\x1b[nCn文字右にカーソルを移動
左に移動\x1b[nDn文字左にカーソルを移動
指定位置\x1b[y;xHy行x列にカーソルを移動

画面をきれいにする

機能エスケープシーケンス説明
画面全体クリア\x1b[2J画面全体を消去する
行をクリア\x1b[2K現在の行を消去する
カーソル以降クリア\x1b[0Jカーソル位置以降を消去

この一覧を覚えることで、画面の表示を自由自在に制御できるようになります。

重要な注意点:これらの機能を使うには、PowerShell 7以降やWindows Terminalなど、ANSIエスケープシーケンスに対応したツールが必要です。

エスケープシーケンスの使い方と注意点

どこで使えるの?

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)を使って元に戻す
  • 色を使いすぎると逆に見にくくなるので注意

コメント

タイトルとURLをコピーしました