Aumenta o tamanho do buffer do prompt de comando com um comando

1

Eu posso alterar o tamanho de uma janela do prompt de comando assim:

'mode con:cols=920 lines=40'

Mas como posso manter a janela do mesmo tamanho, mas aumentar o tamanho do buffer (diminuir as barras de rolagem, se você me seguir) na linha de comando?

Estou executando o Windows 7, mas gostaria de um comando que funcione em todas as versões do Windows. É uma operação simples, então acho que estamos bem.

    
por Starkers 17.10.2013 / 21:26

2 respostas

1

O comando mode não altera (diretamente) o tamanho da janela, altera o tamanho do buffer. Se você definir os números para algo maior que o tamanho da janela e criará barras de rolagem conforme necessário. A configuração para números menores que a janela removerá as barras de rolagem e a janela diminuirá.

a StackOverflow question que fornece mais algumas soluções para um controle mais detalhado por meio do registro ou da programação, se você estiver interessado.

    
por 17.10.2013 / 21:41
1

MODE CON: lista o tamanho do buffer, mas não o tamanho da janela.

MODE CON: cols=N1 lines=N2 define tanto a janela como o buffer para as mesmas dimensões.

Você deseja aumentar o tamanho do buffer sem alterar o tamanho da janela.

A resposta do StackOverflow a CMD: Definir a altura do buffer independentemente da altura da janela mostra como definir os tamanhos do buffer e da janela de forma independente via PowerShell.

Uma pequena modificação definirá o tamanho do buffer sem alterar o tamanho da janela:

@echo off
:conBufferSize  bufWidth  bufHeight
powershell -command "&{$H=get-host;$W=$H.ui.rawui;$B=$W.buffersize;$B.width=%1;$B.height=%2;$W.buffersize=$B;}"

Observe que o tamanho do buffer deve ser maior que o tamanho atual da janela.

UPDATE

Abaixo está uma versão modificada que verifica a largura e a altura da janela atual e define a dimensão do buffer para a dimensão da janela se a dimensão do buffer fornecida for muito pequena.

@echo off
:conBufferSize  bufWidth  bufHeight
powershell -command "&{$H=get-host;$W=$H.ui.rawui;$B=$W.buffersize;$S=$W.windowsize;$B.width=if (%1 -gt $S.width) {%1} else {$S.width};$B.height=if (%2 -gt $S.height) {%2} else {$S.height};$W.buffersize=$B;}"
    
por 18.10.2013 / 00:49