web-dev-qa-db-fra.com

Modifier les propriétés cmd.exe à l'aide de l'invite de commandes

N'est-ce pas bien récursif?

J'ai une invite de commande portable sur mon lecteur externe, et il a un fichier Nice .bat pour configurer certains paramètres initiaux, mais j'aimerais plus!

Voici ce que je sais définir à partir de .bat:

  • Couleurs = (couleur XY) où x et y sont des chiffres hexadécimaux pour les couleurs prédéfinies
  • Prompt = (Prompt $ p $ g) définit l'invite sur "C:\etc\etc>" l'invite par défaut
  • Title = (title "text") définit le titre de la fenêtre sur "text"
  • Screen Size = (mode con: cols = XX lines = YY) définit la taille des colonnes et des lignes de la fenêtre
  • Path = (SET PATH =% ~ d0\bin;% PATH%) configure le chemin local vers mes outils et ajoute le chemin de l'ordinateur

C'est donc très bien. Mais il y a quelques paramètres que je n'arrive pas à définir dès le départ. Comme, comment pourrais-je les configurer sans utiliser la boîte de dialogue Propriétés:

  • Tampon = pas la taille de l'écran, mais le tampon
  • Options comme le mode d'édition rapide et la saisie semi-automatique
  • Couleurs contextuelles
  • Police de caractère. Et pouvez-vous utiliser une police sur le lecteur portable, ou doit-elle être installée pour fonctionner?
  • Options de l'historique des commandes
24
CodexArcanum

Concernant le réglage de la taille du tampon:

En utilisant mode con: cols=XX lines=YY définit non seulement la taille de la fenêtre (écran), mais aussi la taille du tampon.

Si vous spécifiez une taille autorisée par votre système, en fonction de la taille d'écran disponible, vous verrez que la dimension de la fenêtre et du tampon sont définies sur la même valeur; .par exemple:

mode con: cols=100 lines=30

donne les résultats suivants (les valeurs sont les mêmes):

  • taille de la fenêtre: Largeur = 16, Hauteur = 78
  • taille du tampon: Largeur = 16, Hauteur = 78

En revanche, si vous spécifiez des valeurs trop grandes en fonction de la taille d'écran disponible, vous verrez que la taille de la fenêtre passe à son maximum, mais la taille de la mémoire tampon est modifiée aux valeurs spécifiées.

mode con: cols=1600 lines=900

Avec une résolution d'écran de 1280x1024, vous obtiendrez:

  • taille de la fenêtre: Largeur = 16, Hauteur = 78
  • taille du tampon: Largeur = 16, Hauteur = 9
34
HrachyaP

Concernant l'auto-complétion:

L'achèvement du nom de fichier et de répertoire n'est PAS activé par défaut. Vous pouvez activer ou désactiver l'achèvement du nom de fichier pour un appel particulier de CMD.EXE avec le commutateur/F: ON ou/F: OFF. Vous pouvez activer ou désactiver l'achèvement pour tous les appels de CMD.EXE sur une session d'ouverture de session machine et/ou utilisateur en définissant l'une des valeurs REG_DWORD suivantes ou les deux dans le Registre à l'aide de REGEDT32.EXE:

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\CompletionChar
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\PathCompletionChar

    and/or

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\CompletionChar
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\PathCompletionChar

avec la valeur hexadécimale d'un caractère de contrôle à utiliser pour une fonction particulière (par exemple, 0x4 est Ctrl-D et 0x6 est Ctrl-F). Les paramètres spécifiques à l'utilisateur ont priorité sur les paramètres de la machine. Les commutateurs de ligne de commande ont priorité sur les paramètres du Registre.

Si l'achèvement est activé avec le commutateur/F: ON, les deux caractères de contrôle utilisés sont Ctrl-D pour l'achèvement du nom du répertoire et Ctrl-F pour l'achèvement du nom du fichier. Pour désactiver un caractère d'achèvement particulier dans le Registre, utilisez la valeur d'espace (0x20) car ce n'est pas un caractère de contrôle valide.

Impossible de trouver des options d'historique de commande là-dedans (cmd /?), Et il semble que les autres options que vous avez demandées soient définies exclusivement via les paramètres du registre.

6
HanClinto

Vous pouvez définir ces valeurs via un raccourci (fichier .LNK).

J'ai un raccourci sur mon bureau avec ceci comme "Cible:"

% windir%\system32\cmd.exe/K C:\MIKE\STARTUP.CMD

Le commutateur/K indique à CMD d'exécuter le fichier de commandes (qui définit certaines variables, l'invite, etc.), puis reste ouvert.

Si vous cliquez avec le bouton droit sur le raccourci et affichez ses propriétés, vous pouvez définir la taille de la fenêtre et du tampon, les couleurs des fenêtres contextuelles, la position de départ (axes x, y), etc. Les paramètres seront enregistrés dans le raccourci lui-même et seront appliqués à chaque fois vous ouvrez CMD en utilisant ce raccourci.

6
Mike

Pour un véritable ajustement de la taille du tampon, utilisez DOSKEY/LISTSIZE = taille

Vous ne pouvez plus modifier les couleurs dans le shell, car Microsoft a supprimé le contrôle ANSI ESC des invites de commande/cmd.

4
Steve