L'application que je veux démarrer est MongoDB. Si je voulais le démarrer normalement, cela ressemble à ceci:
Je n'aime pas le nombre de sauts de ligne et j'ai beaucoup d'espace sur l'écran, donc je voudrais utiliser cet espace pour me débarrasser des sauts de ligne.
Je peux changer la taille de la fenêtre de console avec MODE
, j'ai donc écrit un fichier batch comme ceci:
@ECHO OFF
MODE con:cols=140 lines=70
%~dp0mongodb\bin\mongod --dbpath %~dp0data --rest
Jusqu'ici tout va bien. Lorsque je démarre ce fichier de commandes, j'obtiens une fenêtre plus grande, comme souhaité.
Mais lorsque j'appuie maintenant sur Ctrl+ Cpour quitter MongoDB, j'obtiens l'invite agaçante:
Terminate batch job (Y/N)?
Ce qui est inutile, car la commande que je viens de quitter était de toute façon la dernière commande du travail par lots et quelle que soit ma réponse, le résultat est le même.
Alors, comment puis-je obtenir une fenêtre de console plus grande pour l'application sans avoir cette invite lorsque j'appuie sur Ctrl+ C?
la source
Pour autant que je comprends la question, vous voulez que MongoDB ait la taille spécifiée de la fenêtre de console et se ferme lorsque vous appuyez sur Ctrl+ C. Ensuite, la réponse est assez simple: utilisez le raccourci pour le démarrer.
Je n'ai pas d'
mongod
exécutable, donc je l'utiliseraisperl.exe
comme exemple. Lorsque vous le démarrez à partir de la boîte de dialogue Exécuter ( Windows+ R), la taille de la fenêtre de la console est de 80 × 25 standard avec une taille de tampon de 300 lignes.mongod
(ouperl
dans mon cas).mongod
.Maintenant, lorsque vous cliquez sur ce raccourci, la fenêtre de la console aura la taille spécifiée. Lorsque vous appuyez sur Ctrl+ C, l'application se ferme et la fenêtre se ferme sans aucune invite supplémentaire.
Vous pouvez également modifier la disposition de la fenêtre après l'avoir lancée à partir de la boîte de dialogue Exécuter . Cliquez avec le bouton droit sur le titre de la fenêtre de console et cliquez sur Propriétés . Cliquez sur l' onglet Disposition , ajustez la taille de la fenêtre et cliquez sur OK pour fermer les propriétés et appliquer immédiatement les modifications. (Si la fenêtre a été démarrée à partir du raccourci, les propriétés du raccourci sont mises à jour.)
La prochaine fois que vous lancerez la même application, la taille de la fenêtre de la console sera comme par magie la même taille. (Je ne l'ai pas vérifié cette fois mais cela fonctionnait.)
la source
mongod.exe
n'est pas fixe. Il changera en fonction du déploiement de l'application. C'est pourquoi je visais une solution directement via la console. Quand je mets un chemin relatif dans les champs du répertoire cible ou de travail pour un raccourci, il ne les accepte pas :(start cmd /k
et passe un paramètre supplémentaire ou définit une variable d'environnement. La deuxième instance change ensuite la taille de la fenêtre de la console et démarremongod.exe
.Terminate batch job (Y/N)?
invite: \ En fait, je viens juste de terminer l'implémentation d'une application wrapper pour résoudre ce problème pour moi.Les paramètres de disposition de la console par défaut se trouvent ici dans le registre:
Vous pouvez modifier ces paramètres et ils s'appliqueront à TOUTES les fenêtres de commandes qui se lancent, quel que soit le chemin. Malheureusement, les valeurs brutes ne sont pas favorables à l'homme.
Pour les définir comme vous le souhaitez, ouvrez une fenêtre cmd normale, puis modifiez les paramètres à votre guise. Regardez dans le registre au chemin ci-dessus et vous devriez voir une sous-clé sous "Console" pour cmd.exe. Exportez cette clé dans un fichier, modifiez le chemin d'accès ci-dessus et importez, ou copiez simplement manuellement les valeurs de l'une à l'autre. Vous pouvez ensuite supprimer l'entrée spécifique cmd.exe. Maintenant, toutes les fenêtres de commandes qui s'ouvrent utiliseront les valeurs par défaut modifiées.
Je l'ai trouvé pratique pour créer quelques fichiers d'entrée de registre avec mes valeurs par défaut standard afin que je puisse facilement les faire apparaître sur un nouveau serveur lorsque je RDP pour la première fois. J'ai fait des préréglages pour les deux tailles que j'utilise généralement.
Pour 1024 x 768 (je l'utilise pour les serveurs normalement accessibles via un outil RDP multi session):
Pour 1280 x 1024:
la source
Mettez la
Start
commande devant l'appel de mongodb. Je crois que cela devrait le réparer.la source
start /b
, la fenêtre de la console reste ouverte après avoir appuyé sur Ctrl + C.Si vous êtes heureux d'exécuter un fichier batch avec quelques petits programmes d'assistance, une solution complète est publiée par moi ici:
Comment un fichier batch peut-il exécuter un programme et définir la position et la taille de la fenêtre?
Contenu comme ci-dessous. . . .
Ce fichier batch de démonstration exécutera un programme en ligne de commande et définira la position et la taille de sa fenêtre de console d'invite de commandes. Le thème général de ce lot est le même que les deux solutions précédentes (sur la page Débordement de pile dans le lien ci-dessus), mais il y avait quelques problèmes et solutions de contournement uniques pour que cela fonctionne - ceci est une fenêtre d'invite de commandes hébergée par 'CMD .EXE 'et non une fenêtre GUI comme' EXPLORER.EXE '.
Lisez tous les commentaires et la description dans le fichier batch pour plus d'informations.
Outils utilisés:
1. MonitorInfoView par Nir Sofer (41 Ko)
2. NirCmd par Nir Sofer (43 Ko)
3. GetPIDs par Daniel Scheibli (280 Ko)
4. upx.exe --- est le programme en ligne de commande que nous utiliserons pour cette démo; placez-le dans le même répertoire que le fichier de commandes.
5. Un fichier batch --- voir ci-dessous
Rassemblez les cinq fichiers dans un répertoire. Il s'agit du fichier batch, prêt à fonctionner sur n'importe quel système Windows.
Ce que ce lot de démonstration va faire, à part vous présenter une fenêtre de console personnalisée, c'est qu'il s'exécutera
upx.exe
avec les commutateurs de ligne de commande--best -v -o getpids-compressed.exe getpids.exe
. Nous allons compresser notre outil «GetPID» jusqu'à 88 Ko ........ Après le lancement, double-cliquez sur la barre de titre de cette fenêtre de console pour voir un phénomène intéressant; cette fenêtre de console se comporte comme une interface graphique!la source