3 votes

Modifier la largeur de l'invite de commande à partir de la ligne de commande

Je ne sais pas vraiment ce que je peux dire de plus. Cette fenêtre capturée ci-dessous ne pourra tout simplement pas s'agrandir davantage. Existe-t-il des paramètres quelque part qui me permettent de la redimensionner ?

command prompt

Tu vois, cette histoire de fenêtre limitée m'a laissé dans le pétrin. En gros, j'ai créé une application avec une interface graphique en ligne de commande (avec la bibliothèque Curses de Ruby), et alors que tout fonctionne parfaitement sur les terminaux OSX et Ubuntu, avec Command Prompt, si les fenêtres Curses sont plus grandes que la fenêtre Command Prompt, comme indiqué ci-dessous, l'application entière se plante avec une erreur "fenêtre déjà fermée".

Existe-t-il un paramètre qui permette aux utilisateurs de redimensionner leur fenêtre d'invite de commande, un paramètre que je devrai intégrer à la documentation.

Voici ce que serait la réponse du Saint Graal :

Y a-t-il un moyen de faire cela à partir de la ligne de commande ? Mon application pourrait-elle détecter si l'invite de commande sur laquelle elle est exécutée est de largeur fixe, et exécuter par programme la commande permettant d'agrandir la fenêtre de l'invite de commande ? Ou au moins donner à l'utilisateur un message d'erreur utile ?

0 votes

Je ne sais pas si vous pouvez le faire à partir de l'invite, mais vous pouvez le faire en utilisant l'interface graphique.

0 votes

Votre titre ne correspond pas à votre réponse "saint graal". Comme vous demandez le pourquoi dans le titre, mais demandez le comment et les processus dans la question/

0 votes

Bien vu, édité

6voto

phuclv Points 22397

Vous pouvez changer par la commande mode con

Par exemple, pour changer la taille à 120x40

mode con:cols=120 lines=40

Vous pouvez également modifier uniquement la largeur ou la hauteur en spécifiant cols o lines

mode con: lines=40

L'espace entre con: y cols o lines est facultatif

Je ne sais pas si Ruby peut accéder aux API de Windows ou non, mais vous pouvez exécuter les commandes ci-dessus pour modifier la taille comme vous le souhaitez. Si vous ne pouvez pas exécuter la commande directement, vous pouvez l'exécuter via cmd.

cmd.exe /c mode con:cols=NUMCOLS lines=NUMLINES

Pour certains autres langages, vous pouvez modifier directement la taille de la fenêtre de la console grâce à l'API de la console.

using System;

class Program
  {
     static void Main()
     { 
        Console.SetBufferSize(100, 9999); 
     }
  }

EDIT : Une commande plus courte

mode WIDTH,HEIGHT
mode 120,40

C'est une fonctionnalité non documentée de mode comando

Syntax
...
   Display size - number of columns wide and number of lines deep:
      MODE CON[:] [COLS=c] [LINES=n]

   undocumented) abbreviated version of the above:
      MODE Cols, Lines

2voto

Ed Brannin Points 2723

Vous avez deux options :

  1. Vous pouvez changer la taille de la fenêtre via le code (je ne sais pas comment le faire à partir de Ruby)
  2. Demandez à vos utilisateurs de cliquer sur l'icône située dans le coin supérieur gauche et de se rendre à l'adresse suivante properties en layout vous pouvez définir la taille.

enter image description here

0 votes

Bonjour Scott ! Vous dites " Vous pouvez changer la taille de la fenêtre via le code " donc il est possible de faire cela avec Ruby ? Ou au moins un langage de programmation ? Je pensais que je devrais trouver un moyen d'exécuter les "commandes" de l'invite de commande, mais c'est possible avec un langage ?

0 votes

Comme je l'ai dit, je ne connais pas le langage Ruby pour savoir comment le faire ou si c'est même possible, mais voici comment faire dans powershell .

0 votes

Pour changer la taille par code vous pouvez faire comme ma réponse

2voto

kobaltz Points 14689

Cliquez avec le bouton droit de la souris sur la barre de titre et sélectionnez Propriétés ou Défauts (si vous voulez que cette modification persiste).

enter image description here

Allez sous l'onglet Mise en page et sélectionnez la Largeur. Vous pouvez modifier cette valeur à votre guise.

enter image description here

Profit. :)

enter image description here

1 votes

Sélectionner defaults au lieu de properties enregistrera les options pour toutes les futures fenêtres de l'invite de commande.

0 votes

Bon point. Je vais mettre à jour la réponse.

0 votes

Vous pouvez également réduire la taille de la police, tant que vous y êtes.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X