É possível buscar o tamanho atual da janela CMD (linhas e colunas) no Windows?

2

No Windows CMD, posso digitar mode con /status para ver os limites atuais de exibição de linha e coluna do CMD. É possível, de maneira semelhante, descobrir quantas linhas e colunas podem caber atualmente na janela do CMD? mode exibe a quantidade de linhas e colunas que cabem dentro do buffer, mas eu preciso da quantidade que se encaixa visivelmente dentro da janela do CMD. Em outras palavras, estou procurando um equivalente do Windows CMD para os comandos Unix tput cols e tput lines .

    
por Hubro 26.11.2013 / 11:51

1 resposta

1

O PowerShell fornece acesso imediato a várias propriedades do console:

C:\>powershell -command "&{$H=get-host;$H.ui.rawui;}"


ForegroundColor       : Gray
BackgroundColor       : Black
CursorPosition        : 0,179
WindowPosition        : 0,131
CursorSize            : 25
BufferSize            : 2000,3000
WindowSize            : 144,49
MaxWindowSize         : 200,85
MaxPhysicalWindowSize : 200,85
KeyAvailable          : False
WindowTitle           : Command Prompt - powershell  -command "&{$H=get-host;$H.ui.rawui;}"

Tenho certeza de que existe uma maneira simples de obter os valores que você deseja, mas eu sou um neófito no PowerShell. Então, vou usar os utilitários de linha de comando antigos.

C:\>powershell -command "&{$H=get-host;$H.ui.rawui;}"|findstr /b WindowSize
WindowSize            : 144,49

Se você precisar dos valores em um script em lote, um FOR / F poderá analisar os valores para você:

@echo off
setlocal
for /f "tokens=3,4 delims=, " %%A in (
  'powershell -command "&{$H=get-host;$H.ui.rawui;}"^|findstr /b WindowSize'
) do set /a windowWidth=%%A, windowHeight=%%B

Ou você pode aprender o PowerShell e fazer tudo com uma linguagem de script muito mais poderosa.

    
por 26.11.2013 / 17:27