【解決方法】バッチスクリプトで特定の行の色を変更する方法


コード プロジェクト コミュニティの皆様、こんにちは。

バッチ スクリプトで、(echo を使用して) 特定の行を特定の色で印刷しようとしていますが、それを試みると、コマンド プロンプト全体がその特定の色に変わります。 コマンドウィンドウ全体の色を変更せずに、特定の行を異なる色で印刷する方法は?

注意: 0A = 緑、0C = 赤

私が試したこと:

私のコード:

コウモリ
@echo off
color 0A
echo This is GREEN COLOR
color 0C
echo This is Red Color

出力:(パスとファイル名を含むすべてのものを赤色で印刷/変更します)

「ターミナル」
C:\Users>test.bat
This is GREEN COLOR
This is Red Color<

解決策 1

解決策 2

color コマンドは、コマンド ウィンドウ全体の前景色と背景色を変更します。 行ごとに色を変更したい場合は、ANSI エスケープ シーケンスを使用する必要があります。 見出しのセクションを参照してください 表示属性の設定ANSI/VT100 端末制御[^].

解決策 3

ファイル: msg.bat:
@エコーオフ
:コル
>%2 (set/p=.) <&1
検索文字列 /a:%1 。 %2 con &erase %2
for /f “delims=” %%a in (‘cmd /k prompt $h$h ^<^&1') do echo %%a
終了 /b
ファイル: your_script.bat:
@エコーオフ
タイトルテスト
call msg.bat 0A “text here (引用符を忘れないでください)”
::「call」コマンドはウィンドウを閉じないために必要です msg.bat を終了します 「0A」は色 end 「ここにテキスト (引用符を忘れないでください)」は画面に書き込むテキストです
call msg.bat 9F “text here (引用符を忘れないでください)”
一時停止

コメント

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