173 votes

Afficher une fenêtre contextuelle/une boîte de message à partir d'un fichier batch Windows

Existe-t-il un moyen d'afficher une boîte de message à partir d'un fichier batch (similaire à la manière dont les xmessage peut être utilisé à partir de scripts de base sous Linux) ?

0 votes

CMD.EXE, c'est un processeur de commande 32 bits qui prend en charge les commandes DOS.

7 votes

Il s'agit de l'Invite de commande Windows.

0voto

Franco Points 21

Msg * /server:127.0.0.1 Tapez votre message ici

0 votes

Windows cmd.exe dit : 'msg' n'est pas reconnu comme une commande interne ou externe, un programme exploitable ou un fichier batch.

0 votes

@AnthonyHatzopoulos c'est parce qu'il n'est supporté que par XP.

0 votes

@pattyd XP et plus tard, en fait.

0voto

snm-yah Points 2067

Une meilleure option

set my_message=Hello world&& start cmd /c "@echo off & mode con cols=15 lines=2 & echo %my_message% & pause>nul"


Description :
lines= nombre de lignes, plus 1
cols= nombre de caractères du message, plus 3 (Toutefois, le minimum doit être 15 )

Auto-calculé cols version :

set my_message=Hello world&& (echo %my_message%>EMPTY_FILE123 && FOR %? IN (EMPTY_FILE123 ) DO SET strlength=%~z? && del EMPTY_FILE123 ) && start cmd /c "@echo off && mode con lines=2 cols=%strlength% && echo %my_message% && pause>nul"

0 votes

Le commentaire de @ender_scythe fonctionne ( start cmd /c "@echo off & mode con cols=18 lines=2 & echo My Popup Message & pause>nul" ). Le vôtre ne le fait pas. Il fait écho au message mais ne parvient pas à définir la taille de la fenêtre de retour. The screen cannot be set to the number of lines and columns specified. du moins dans mon Windows 7.

0 votes

@cdlvcdlv J'ai mis à jour la réponse. Elle devrait fonctionner maintenant pour tout le monde, révisez-la.

0 votes

Cela fonctionne en effet... à condition qu'il n'y ait pas un fichier nommé x dans le répertoire courant ou vous ne craignez pas de le perdre.

-4voto

Illegal Alien Points 1

Il doit SEULEMENT s'ouvrir quand il est dans un vm, donc techniquement, il devrait y avoir du code comme :

if %machine_type% == virtual_machine then
   echo message box code
else
   continue normal installation code

0 votes

Downvote car l'installation ne sera pas poursuivie si (%machine_type% == virtual_machine)==true

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