Páginas

Mostrar Mensajes de Alerta en Archivos Batch

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 variable message con el texto del mensaje.
  • set "title=...": Define la variable title 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.