Como alterei o esquema de cores do prompt de comando?

17

Alguns anos atrás, mudei o esquema de cores do prompt de comando. Agora, esqueci como exatamente fiz isso.

  1. É permanente. Portanto, o COLORcomando está fora de questão.
  2. Está intacto, não importa de onde inicio o cmd. Portanto, alterar a cor das propriedades do atalho está fora de questão, porque eu recebo o esquema de cores mesmo quando inicio o cmd a partir de Executar ou do local original.
  3. Não me permite substituí-lo por propriedades de atalho. E esse é o problema. Eu crio um atalho de cmd e altero seu esquema de cores das propriedades. Mas isso não é refletido mesmo após a reinicialização.

Portanto, a única opção que me resta: use o mesmo método que usei alguns anos atrás. Como mudei a cor do cmd?

Apple II
fonte

Respostas:

10

As cores do cmd podem ser alteradas no registro.

Navegue HKEY_CURRENT_USER\Software\Microsoft\Command Processore verifique a DefaultColorentrada. O valor padrão é 0(zero). Para alterar as cores, digite um valor de dois dígitos hexadecimais, o primeiro especificando a cor do plano de fundo e o segundo a cor do texto. Os valores possíveis são os seguintes:

0 - black
1 - blue
2 - green
3 - aqua
4 - red
5 - purple
6 - yellow
7 - white
8 - grey
9 - light blue
A - light green
B - light aqua
C - light red
D - light purple
E - light yellow
F - bright white

Por exemplo, um valor de 4Afornecerá texto verde claro sobre fundo vermelho.
Observe que os valores em que os dois dígitos são iguais são inválidos; portanto, você não pode ter a mesma cor para o texto e o plano de fundo.

Se o acima não funcionar, verifique a mesma entrada em HKEY_LOCAL_MACHINE, você pode ter alterado lá.

Indrek
fonte
Obviamente, você precisará reiniciar o console após fazer a alteração para que ele entre em vigor.
Synetech
Para acessar essas configurações, pressione [tecla windows] + [r], digite regedit.exe e clique em OK para abrir o aplicativo Editor do Registro.
David Alan Condit
Algo muito interessante acontecendo. Sua solução funcionou, mas por um breve momento a cor da tela é roxa. E depois desse milissegundo, é um texto em branco e preto. Por que é inicialmente o fundo roxo? Embora eu mudei no regedit. @Indrek
Pie
Está mudando para fundo branco e texto em preto porque alterei esse valor no regedit. Mas por que é um fundo roxo por um breve momento inicialmente.
Pie
16

A maneira correta de definir permanentemente as cores (e outros parâmetros) de um console / prompt de comando é:

  1. Abra um prompt de comando
  2. Clique com o botão direito do mouse na barra de título ou pressione Alt+Space
  3. Selecione Padrões no menu de contexto
  4. Defina as propriedades que você deseja (cores na guia Cores )
  5. Clique em OK

O método fornecido pelo Tapped-Out funciona porque o Windows 7 possui um erro em que a opção Propriedades modifica os valores padrão em vez de apenas para o console atual e pode ser corrigido a qualquer momento.

O método que Indrek forneceu também funciona, mas o uso da interface fornecida é mais fácil (e mais seguro) do que editar manualmente o registro, especialmente ao definir as cores, pois você não precisa mexer nos valores hexadecimais. Além disso, você não precisa se preocupar em definir permissões com a interface.

Finalmente, uma palavra de aviso. Cada tipo de console obtém seu próprio conjunto de parâmetros, assim como cada atalho para um console . Em outras palavras, se você criar um atalho para um console, a alteração dos parâmetros modificará o atalho e se aplicará apenas ao console aberto pelo atalho, não por outros atalhos ou meios. Além disso, se você executar um aplicativo de console e modificar os parâmetros, eles serão aplicados apenas ao aplicativo de console e não a outros consoles, como o prompt de comando.

Para esclarecer, o que acontece é que todos os consoles (prompt de comando e aplicativos de console) usam as configurações padrão (armazenadas em HKCU\Console) até que sejam especificamente alteradas; nesse ponto, eles farão uma cópia dessas configurações e as usarão a partir de então. Por exemplo, se você abrir edit.com, ele usará inicialmente as configurações HKCU\Console, mas se você fizer alterações, uma cópia será feita HKCU\Console\c:windows_system32_edit.come as alterações nos padrões não serão mais refletidas porque as configurações específicas command.comexistem (e substituem os padrões ) É semelhante a como as configurações do usuário substituem as configurações do sistema (por exemplo, HKCU substitui os padrões HKLM).

Synetech
fonte
Eu não entendo o seu último parágrafo. Eu uso o vim da linha de comando para editar arquivos de texto. Quando altero o esquema de cores das propriedades de atalho do cmd, o mesmo esquema é aplicado ao console de edição de arquivos vim. Quão?
Apple II
1
Todos os consoles usam os padrões, mas se você definir os parâmetros para um aplicativo de console específico, ele fará uma cópia especificamente para esse aplicativo e esses serão usados ​​a partir de então. Quando você altera as configurações normais do prompt de comando, o VIM as usa, mas se você fizer uma alteração no próprio VIM, ele as usará e deixará de usar o padrão. Vou editar a resposta para expandir isso.
Synetech 27/05
Porém, as propriedades de atalho do cmd não são padrões globais. Como o VIM consegue isso?
Apple II
Como eu disse, todos os consoles que não têm suas próprias propriedades específicas usam os padrões HKCU\Console. O VIM da linha de comando é um aplicativo de console e, portanto, usa o subsistema de console; portanto, quando ele executa o CSRSS, fornece as configurações padrão a partir daí, como qualquer outro aplicativo de console. Se você alterar as configurações do VIM, ele será usado. Se você criar um atalho para o VIM, poderá alterar as configurações desse atalho e fazer com que o VIM use os padrões quando iniciado de outras maneiras. Você pode até criar vários atalhos, cada um com suas próprias configurações.
Synetech 27/05
Não. Não. Não estou falando do atalho do VIM. Eu estou falando sobre o atalho do cmd. O console do VIM usa o esquema de cores do cmd console a partir do qual você o iniciou. Você pode testá-lo.
Apple II
5

Na verdade, altere as cores do console do Windows (altere o que é 'azul')

Para realmente alterar as cores (tema) da consola (PowerShell, cmd, bash etc.) para o Windows 10, use o Color Tool , que é obtido pela equipe de console da Microsoft.

colortool -b solarized_dark

Leia mais sobre o colortool .

insira a descrição da imagem aqui

Para alterar qual cor é usada (escolha uma cor diferente para azul em um conjunto limitado de cores)

Obviamente, você pode experimentá-lo com o próprio prompt de comando, mas só pode alterar a cor do texto:

  1. clique no ícone Prompt de comando no canto superior esquerdo da janela e selecione Propriedades.
  2. Selecione a guia Cores e, em seguida,
  3. escolha a cor desejada para o texto e o plano de fundo da tela. Você também pode inserir sua própria combinação de cores RGB, se desejar.
IgorBeaz
fonte
Essa é de longe a melhor resposta - tudo o resto permite escolher entre um conjunto limitado de cores.
Mikemaccana 15/0518
3

No cmd, clique com o botão direito do mouse na barra de título e selecione propriedades:

menu de contexto da barra de título

Clique na guia Cores:

propriedades - guia cores

Você pode alterar as configurações de cores do prompt de comando aqui. Dos meus testes, ele altera globalmente o esquema de cores.

nc4pk
fonte
1
Isso está diretamente anexado às propriedades de atalho. Quando sessão não é iniciado a partir de atalho, a sua temporária ...
Apple II
Bem, você também pode clicar com o botão esquerdo no ícone cmd (na barra de título) para chegar lá.
Apple II
Defino cores personalizadas dessa maneira e executei-a na caixa de diálogo Executar (Win + R). As cores personalizadas foram mantidas nas sessões. Como isso é temporário?
Nc4pk 28/05
1
É um bug conhecido: superuser.com/questions/323059/…
Apple II
1

Não importa em qual diretório você está apenas usando este comando para alterar a cor do texto:

color 0a, a cor será alterada para verde;
color 0b, a cor será alterada para azul;
color 0c, a cor será alterada para vermelho.

Harshpal singh
fonte
Isso não responde à pergunta porque o OP disse claramente que "o COLORcomando está fora de questão".
Kamil Maciorowski