Mostrar Mensajes de Alerta en Archivos Batch
En un archivo Batch (.bat), puedes mostrar mensajes de alerta utilizando el comando msg
o herramientas externas como PowerShell. A continuación, se presentan dos enfoques comunes para crear mensajes de alerta en un script Batch:
Opción 1: Usar el Comando msg
El comando msg
permite enviar mensajes a usuarios en una red de Windows. Sin embargo, este comando puede no estar disponible en todas las versiones de Windows y puede estar restringido en algunos entornos.
@echo off msg * "Este es un mensaje de alerta."
En este ejemplo, msg * "Este es un mensaje de alerta."
envía un mensaje de alerta a todos los usuarios de la red.
Opción 2: Usar PowerShell para Mostrar un Cuadro de Mensaje
Para una mayor flexibilidad y compatibilidad, puedes usar PowerShell para mostrar cuadros de mensaje más personalizados. Aquí tienes un ejemplo:
@echo off :: Define el mensaje y el título set "message=Este es un mensaje de alerta." set "title=Mensaje de Alerta" :: Llama a PowerShell para mostrar el mensaje powershell -Command "Add-Type -AssemblyName System.Windows.Forms; [System.Windows.Forms.MessageBox]::Show('%message%', '%title%', [System.Windows.Forms.MessageBoxButtons]::OK, [System.Windows.Forms.MessageBoxIcon]::Information)"

Explicación del Script
@echo off
: Desactiva la visualización de los comandos que se ejecutan.set "message=..."
: Define la variablemessage
con el texto del mensaje.set "title=..."
: Define la variabletitle
con el título del cuadro de mensaje.powershell -Command "..."
: Llama a PowerShell para ejecutar el comando que muestra el cuadro de mensaje.Add-Type -AssemblyName System.Windows.Forms
: Carga el ensamblaje necesario para usar los formularios de Windows.[System.Windows.Forms.MessageBox]::Show(...)
: Muestra el cuadro de mensaje con el texto y título especificados.
Opciones Adicionales en PowerShell
Puedes ajustar el cuadro de mensaje con diferentes opciones, como botones o íconos, cambiando los parámetros en MessageBox
:
Botones
[System.Windows.Forms.MessageBoxButtons]::OK
: Muestra un botón OK.[System.Windows.Forms.MessageBoxButtons]::YesNo
: Muestra botones Sí y No.[System.Windows.Forms.MessageBoxButtons]::YesNoCancel
: Muestra botones Sí, No y Cancelar.
Íconos
[System.Windows.Forms.MessageBoxIcon]::Information
: Muestra un ícono de información.[System.Windows.Forms.MessageBoxIcon]::Warning
: Muestra un ícono de advertencia.[System.Windows.Forms.MessageBoxIcon]::Error
: Muestra un ícono de error.
Ejemplo con Botones y Iconos
Aquí tienes un ejemplo de cómo mostrar un cuadro de mensaje con botones "Sí" y "No" y un ícono de pregunta:
@echo off set "message=¿Deseas continuar?" set "title=Confirmación" powershell -Command "Add-Type -AssemblyName System.Windows.Forms; [System.Windows.Forms.MessageBox]::Show('%message%', '%title%', [System.Windows.Forms.MessageBoxButtons]::YesNo, [System.Windows.Forms.MessageBoxIcon]::Question)"
Conclusión
Estos enfoques permiten mostrar mensajes de alerta en un entorno Batch y pueden ser adaptados según tus necesidades específicas. Usar el comando msg
es una opción sencilla para redes, mientras que PowerShell ofrece mayor flexibilidad para personalizar cuadros de mensaje.