Estou executando um programa que exibe texto colorido no prompt de comando do Windows quando é executado. Infelizmente, este texto é difícil de ler.
Como posso forçar a saída a preto e branco? O comando nesta respostaRedefinir cores na linha de comando do Windows (cmd)funciona bem para desligar o que o programa já escreveu, mas sempre que executo ele novamente as cores voltam. Basicamente, o que eu quero é forçar toda a minha sessão a ser em preto e branco.
Responder1
A melhor maneira de fazer isso é encadear os dois comandos que você está usando.
<command> && color 07
Dessa forma, assim que o comando for executado com sucesso, o esquema de cores voltará para preto e branco.
Caso contrário, se você realmente deseja que qualquer programa executado seja exibido em preto e branco, você pode criar um arquivo em lote para reproduzi-lo a cada segundo:
:loop
color 07
timeout /t 1
goto loop
de cmd /?:
Se /D NÃO foi especificado na linha de comando, quando o CMD.EXE for iniciado, ele procurará as seguintes variáveis de registro REG_SZ/REG_EXPAND_SZ e, se uma ou ambas estiverem presentes, elas serão executadas primeiro.
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun
e/ou
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun
Você pode adicionar seu arquivo em lote que altera a cor a esses valores de registro para que ele seja executado sempre que o cmd.exe for executadosemo modificador /D.
Dessa forma, seu terminal terá a cor redefinida uma vez a cada intervalo de tempo, para que seja mais fácil de ler.
OBSERVAÇÃO:Este método é muito ineficiente e pode ter alguns efeitos colaterais indesejáveis.
Fontes: