Windowsコマンドプロンプトで色を無効にする

Windowsコマンドプロンプトで色を無効にする

実行時に Windows コマンド プロンプトに色付きのテキストを出力するプログラムを実行しています。残念ながら、このテキストは読みにくいです。

出力を強制的に白黒にするにはどうすればいいでしょうか?この回答のコマンドWindows コマンドライン (cmd) で色をリセットするプログラムがすでに書き込んだ内容をオフにするにはうまく機能しますが、再度実行すると色が戻ってしまいます。基本的に、セッション全体を強制的に白黒にしたいだけです。

答え1

これを行う最善の方法は、使用している 2 つのコマンドを連結することです。

<command> && color 07

こうすることで、コマンドが正常に実行されると、配色が白黒に戻ります。

それ以外の場合、実行するプログラムを白黒で表示したい場合は、これを毎秒再生するバッチ ファイルを作成できます。

:loop
 color 07
 timeout /t 1
 goto loop

cmd /? から:

コマンド ラインで /D が指定されていない場合、CMD.EXE の起動時に次の REG_SZ/REG_EXPAND_SZ レジストリ変数が検索され、いずれかまたは両方が存在する場合は、それらが最初に実行されます。

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun

および/または

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun

これらのレジストリ値に色を変更するバッチファイルを追加して、cmd.exeが実行されるたびに実行することができます。それなし/D 修飾子。

この方法により、ターミナルの色が時間間隔ごとにリセットされるため、読みやすくなります。

注記:この方法は非常に非効率的であり、いくつかの望ましくない副作用が生じる可能性があります。

出典:

関連情報