Inicio
» WINDOWS
»
Cómo mostrar un cuadro de mensaje en Windows 10 (PowerShell y Batch)
Cómo mostrar un cuadro de mensaje en Windows 10 (PowerShell y Batch)
Para mostrar un cuadro de mensaje personalizado en Windows 10 , utilice el método integrado de Windows Forms MessageBox.Showdesde Windows PowerShell. Ejecútelo una vez desde una terminal o guárdelo como un archivo reutilizable .bat. .ps1No se requiere una cuenta de administrador en la sesión de escritorio iniciada.
Un cuadro de mensaje es un diálogo modal que permanece abierto hasta que se cierra y puede bloquear la interacción con su propietario. Se diferencia de una notificación emergente (toast notification). La documentación de Microsoft para MessageBox.Show enumera los argumentos message, caption, button e icon.
Elige cómo mostrar el mensaje
Diálogo único: ejecute un comando breve en PowerShell.
Ejecútalo desde el símbolo del sistema: inicia Windows PowerShell con powershell.exe.
Reutilícelo más tarde: guarde el comando como un archivo por lotes o un script de PowerShell.
Los ejemplos utilizan Windows PowerShell y el System.Windows.Formsensamblado disponible en Windows. El comando carga dicho ensamblado y, a continuación, especifica el mensaje, el título, el botón Aceptar y el icono de información.
Crear un archivo por lotes reutilizable
Abre el Bloc de notas desde el menú Inicio. Un documento en blanco es suficiente para este breve script.Abra un documento de Bloc de notas en blanco antes de introducir el script.
El archivo por lotes inicia PowerShell sin cargar ningún perfil.
Modifique Backup complete.el texto y el título según sus preferencias Backup status. Mantenga las comillas simples alrededor de ambas cadenas. Los valores explícitos del botón y el icono hacen que el diálogo sea predecible; [void]se descarta el valor de retorno del método porque este ejemplo solo necesita mostrar el cuadro.Establezca el mensaje y el título en la llamada MessageBox.Show.
Seleccione Archivo > Guardar como . Introduzca ShowMessage.batcomo nombre de archivo y seleccione Todos los archivos como tipo de archivo, luego guárdelo en una ubicación de fácil acceso, como el Escritorio. Si deja el tipo como documento de texto, el Bloc de notas podría guardarlo como ShowMessage.bat.txten su lugar.Guarda el archivo con la extensión .bat y selecciona Todos los archivos.
Abra el archivo guardado ShowMessage.bat. Aparecerá un cuadro de mensaje; haga clic en Aceptar para cerrarlo.Ejecute el archivo por lotes guardado desde el Explorador de archivos.El cuadro de mensaje personalizado permanece abierto hasta que se selecciona Aceptar.
Dado que el archivo por lotes incluye PowerShell dentro de un comando entre comillas, mantenga el texto simple y evite las comillas dobles en el mensaje y el título.
Ejecuta el comando directamente en PowerShell.
Abra Windows PowerShell desde el menú Inicio.Abra Windows PowerShell para ejecutar un comando único.
Cargar formularios de Windows y luego llamar a MessageBox.Show.
Haz clic en Aceptar cuando aparezca el cuadro de diálogo.El comando de PowerShell muestra el mensaje solicitado.
Para un script de PowerShell reutilizable, guarde las dos líneas de PowerShell anteriores en el Bloc de notas como ShowMessage.ps1, eligiendo Todos los archivos . Ejecute una copia de Escritorio con & "$env:USERPROFILE\Desktop\ShowMessage.ps1". Si una directiva de ejecución bloquea el script, use el comando en línea o el archivo por lotes en lugar de cambiar una directiva de todo el dispositivo. Consulte la documentación de Tipo de agregado de Microsoft .
Mostrar un mensaje del símbolo del sistema
En el símbolo del sistema , pegue este comando de una sola línea y presione Intro . Esto iniciará Windows PowerShell y le pasará el código del cuadro de diálogo:
El símbolo del sistema puede pasar la misma llamada de diálogo a PowerShell.
El cuadro de diálogo aparece sobre el escritorio; ciérrelo con Aceptar y el Símbolo del sistema volverá a su indicador. El -NoProfilemodificador inicia PowerShell sin cargar el perfil del usuario, como se describe en la referencia de la línea de comandos de Windows PowerShell de Microsoft .
Cierre el cuadro de diálogo para volver al símbolo del sistema.
Utilice los botones Sí y No.
Para hacer una pregunta, cambia los argumentos del botón y el icono, y luego comprueba el resultado. El método devuelve un valor DialogResult, por lo que tu script puede realizar una acción diferente según la respuesta:
$answer = [System.Windows.Forms.MessageBox]::Show('Continue with cleanup?', 'Confirm action', [System.Windows.Forms.MessageBoxButtons]::YesNo, [System.Windows.Forms.MessageBoxIcon]::Question)
if ($answer -eq [System.Windows.Forms.DialogResult]::Yes) { 'Continue with cleanup' } else { 'Cancelled' }
Utilice Sí y No cuando el script requiera una decisión del usuario.
En PowerShell, las cadenas entre comillas simples interpretan la mayoría de los caracteres literalmente. Si el mensaje contiene un apóstrofo, duplíquelo dentro de la cadena (por ejemplo, ). Consulte las reglas de comillas'Don''t close this window' de Microsoft PowerShell . Para un comando por lotes, evite también las comillas dobles dentro del mensaje, ya que el comando está anidado dentro de un argumento entre comillas.-Command
Si no aparece el cuadro de mensaje
Confirme que el archivo termina en .bato .ps1, no en .txt.
Ejecútalo en una sesión de escritorio con la sesión iniciada; un servicio o un proceso no interactivo podría no mostrar la interfaz de usuario allí.
Utilice Alt+Tab si el cuadro de diálogo puede estar detrás de otra ventana.
Si falla un script guardado, pruebe el comando en línea para aislar errores de nombre de archivo o de comillas.
Si solo necesitas un recordatorio que no interrumpa la tarea actual, usa una notificación de Windows en lugar de este cuadro de diálogo modal. Para una ventana emergente personalizada sencilla que requiera confirmación, el método de PowerShell descrito anteriormente es la opción más rápida.