Início
» WINDOWS
»
Como exibir uma caixa de mensagem no Windows 10 (PowerShell e Batch)
Como exibir uma caixa de mensagem no Windows 10 (PowerShell e Batch)
Para exibir uma caixa de mensagem personalizada no Windows 10 , chame o método integrado do Windows Forms MessageBox.Showa partir do Windows PowerShell. Execute-o uma vez a partir de um terminal ou salve-o como um arquivo reutilizável .bat. .ps1Não é necessária uma conta de administrador na sua sessão de desktop.
Uma caixa de mensagem é uma janela modal que permanece aberta até ser fechada e pode bloquear a interação com seu proprietário. Ela difere de uma notificação pop-up. A referência MessageBox.Show da Microsoft lista os argumentos message, caption, button e icon.
Escolha como exibir a mensagem
Diálogo único: execute um comando curto no PowerShell.
Execute-o a partir do Prompt de Comando: inicie o Windows PowerShell com powershell.exe.
Reutilize-o mais tarde: salve o comando como um arquivo em lote ou um script do PowerShell.
Os exemplos utilizam o Windows PowerShell e o System.Windows.Formsassembly disponível no Windows. O comando carrega esse assembly e, em seguida, especifica a mensagem, o título, o botão OK e o ícone de informação.
Criar um arquivo em lote reutilizável
Abra o Bloco de Notas no menu Iniciar. Um documento em branco é suficiente para este pequeno script.Abra um documento em branco do Bloco de Notas antes de inserir o roteiro.
O arquivo em lote inicia o PowerShell sem carregar um perfil.
Altere o texto e o título conforme Backup complete.desejado . Mantenha as aspas simples em torno de ambas as strings. Os valores explícitos do botão e do ícone tornam a caixa de diálogo previsível; o valor de retorno do método é descartado, pois este exemplo precisa apenas exibir a caixa.Backup status[void]Defina a mensagem e o título na chamada MessageBox.Show.
Escolha Arquivo > Salvar como . Digite ShowMessage.bato nome do arquivo e selecione Todos os arquivos como tipo de arquivo. Em seguida, salve-o em um local de fácil acesso, como a Área de Trabalho. Se você deixar o tipo como documento de texto, o Bloco de Notas poderá salvá-lo como um ShowMessage.bat.txtarquivo .notebook.Salve com a extensão .bat e escolha Todos os Arquivos.
Abra o ShowMessage.batarquivo salvo. A caixa de mensagem aparecerá; clique em OK para fechá-la.Execute o arquivo em lote salvo a partir do Explorador de Arquivos.A caixa de mensagem personalizada permanece aberta até que a opção OK seja selecionada.
Como o arquivo em lote aninha o PowerShell dentro de um comando entre aspas, mantenha o texto simples e evite aspas duplas na mensagem e no título.
Execute o comando diretamente no PowerShell.
Abra o Windows PowerShell a partir do menu Iniciar.Abra o Windows PowerShell para executar um comando único.
Carregue o Windows Forms e, em seguida, chame MessageBox.Show.
Clique em OK quando a caixa de diálogo aparecer.O comando do PowerShell exibe a mensagem solicitada.
Para um script PowerShell reutilizável, salve as duas linhas do PowerShell acima no Bloco de Notas como ShowMessage.ps1, selecionando Todos os Arquivos . Execute uma cópia na Área de Trabalho com . Se uma política de execução bloquear o script, use o comando embutido ou o arquivo em lote em vez de alterar uma política de todo o dispositivo. Consulte a documentação do Add-Type& "$env:USERPROFILE\Desktop\ShowMessage.ps1" da Microsoft .
Exibir uma mensagem do Prompt de Comando
No Prompt de Comando , cole este comando de uma linha e pressione Enter . Isso iniciará o Windows PowerShell e passará o código de diálogo para ele:
O Prompt de Comando pode passar a mesma chamada de diálogo para o PowerShell.
A caixa de diálogo aparece sobre a área de trabalho; feche-a clicando em OK e o Prompt de Comando retornará ao prompt. A opção inicia o PowerShell sem carregar o perfil do usuário, conforme descrito na referência da linha de comando do Windows PowerShell-NoProfile da Microsoft .
Feche a caixa de diálogo para retornar ao Prompt de Comando.
Use os botões Sim e Não.
Para fazer uma pergunta, altere os argumentos do botão e do ícone e, em seguida, verifique o resultado. O método retorna um valor DialogResult, para que seu script possa executar uma ação diferente dependendo da resposta:
$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' }
Use "Sim" e "Não" quando o script precisar de uma decisão do usuário.
No PowerShell, as strings entre aspas simples interpretam a maioria dos caracteres literalmente. Se a sua mensagem contiver um apóstrofo, duplique-o dentro da string (por exemplo, `\ `). Consulte as regras de aspas do PowerShell'Don''t close this window' da Microsoft . Para comandos em lote, evite também aspas duplas dentro da mensagem, pois o comando está aninhado dentro de um argumento entre aspas.-Command
Se a caixa de mensagem não aparecer
Confirme se o arquivo termina em .txt .batou .ps1.txt, e não em .txt.txt.
Execute o programa em uma sessão de desktop com a sessão iniciada; um serviço ou processo não interativo pode não exibir a interface do usuário nesse caso.
Use Alt+Tab se a caixa de diálogo estiver atrás de outra janela.
Se um script salvo falhar, tente usar o comando embutido para isolar erros de nome de arquivo ou de aspas.
Se você precisa apenas de um lembrete que não interrompa a tarefa atual, use uma notificação do Windows em vez desta caixa de diálogo modal. Para um pop-up personalizado simples que precisa ser confirmado, o método do PowerShell acima é o caminho mais curto.