74 votes

Comment minimiser l'invite de commande à partir de mon fichier bat ?

J'ai ce fichier bat et je veux minimiser la fenêtre cmd lorsque je l'exécute :

@echo off
cd /d C:\leads\ssh 
call C:\Ruby192\bin\setrbvars.bat
ruby C:\leads\ssh\put_leads.rb

En gros, je veux que la fenêtre de commande soit réduite immédiatement. Avez-vous une idée de la façon de procéder ?

6voto

SSi Points 1

Une façon de "minimiser" la fenêtre cmd est de réduire la taille de la console en utilisant quelque chose comme...

echo DO NOT CLOSE THIS WINDOW
MODE CON COLS=30 LINES=2

Vous pouvez réduire les COLS à environ 18 et les LINES à 1 si vous le souhaitez. L'avantage est qu'il fonctionne sous WinPE, 32 bits ou 64 bits, et ne nécessite aucun utilitaire tiers.

3voto

Kyroflash Points 11

Si vous tapez ce texte dans votre fichier bat :

start /min blah.exe

Il sera immédiatement minimisé dès l'ouverture du programme. Vous ne verrez qu'un bref flash et il disparaîtra.

0 votes

Merci pour votre contribution, mais c'est la même approche que la réponse la plus votée.

2voto

Bernard Chen Points 1883

Une option est de trouver l'un des divers utilitaires qui peuvent changer l'état de la fenêtre de la console en cours d'exécution et d'y faire appel à partir du script de lot.

Vous pouvez l'exécuter comme première chose dans votre script de lot. Voici deux outils de ce type :

min.exe http://www.paulsadowski.com/wsh/cmdprogs.htm

cmdow http://www.commandline.co.uk/cmdow/index.html

1 votes

J'aime bien utiliser nircmdc.exe pour des trucs comme ça, mais pour une raison quelconque, il ne minimisait pas la fenêtre active quand c'était une fenêtre de console. Cependant, cmdow a fonctionné à merveille ! cmdow @ /min c'est comment je l'ai fait, où @ est la façon d'indiquer que vous voulez cibler la fenêtre active. (Je suis sous Windows 10.)

1voto

PatchedUp Points 41

Vous pouvez essayer d'exécuter un script comme suit

var WindowStyle_Hidden = 0
var objShell = WScript.CreateObject("WScript.Shell")
var result = objShell.Run("cmd.exe /c setrbvars.bat", WindowStyle_Hidden)

sauvegarder le fichier sous le nom de filename.js

2 votes

La demande est de cacher l'invite de commande à partir d'un fichier de lots ne pas faire un javascript à exécuter ailleurs qui exécute quelque chose d'autre qui finalement le cache.

1voto

robert4 Points 173

Un autre outil tiers gratuit capable de minimiser la fenêtre de la console à tout moment (pas seulement lors du démarrage du script) est Tcl avec l'extension TWAPI :

echo package require twapi;twapi::minimize_window [twapi::get_console_window] | tclkitsh -

aquí tclkitsh.exe se trouve dans le PATH et est l'un des éléments de l'application tclkit-cli-*-twapi-*.exe fichiers téléchargeables à partir de sourceforge.net/projets/twapi/files/Binaires/Tcl/Tclkits avec TWAPI/ . Je le préfère à celui, beaucoup plus léger, de min.exe mentionné dans La réponse de Bernard Chen parce que j'utilise déjà TWAPI pour d'innombrables autres usages.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X