Acasă
» WINDOWS
»
Cum se afișează o casetă de mesaj în Windows 10 (PowerShell și Batch)
Cum se afișează o casetă de mesaj în Windows 10 (PowerShell și Batch)
Pentru a afișa o casetă de mesaj personalizată în Windows 10 , apelați metoda Windows Forms încorporată MessageBox.Showdin Windows PowerShell. Rulați-o o dată dintr-un terminal sau salvați-o ca fișier reutilizabil .bat. .ps1Nu este necesar un cont de administrator în sesiunea desktop conectată.
O casetă de mesaj este un dialog modal care rămâne deschis până la închidere și poate bloca interacțiunea cu proprietarul său. Aceasta diferă de o notificare tip toast. Referința MessageBox.Show de la Microsoft listează argumentele mesajului, legendei, butonului și pictogramei.
Alegeți cum să afișați mesajul
Dialog unic: executați o comandă scurtă în PowerShell.
Rulați-l din linia de comandă: porniți Windows PowerShell cu powershell.exe.
Reutilizați-o mai târziu: salvați comanda ca fișier batch sau script PowerShell.
Exemplele utilizează Windows PowerShell și System.Windows.Formsansamblul disponibil pe Windows. Comanda încarcă acel ansamblu, apoi specifică mesajul, titlul, butonul OK și pictograma de informații.
Creați un fișier batch reutilizabil
Deschideți Notepad din meniul Start. Un document gol este suficient pentru acest scurt script.Deschideți un document Notepad gol înainte de a introduce scriptul.
Fișierul batch pornește PowerShell fără a încărca un profil.
Schimbați Backup complete.textul dorit și Backup statustitlul. Păstrați ghilimelele simple în jurul ambelor șiruri. Valorile explicite ale butonului și pictogramei fac dialogul previzibil; [void]elimină valoarea returnată de metodă deoarece acest exemplu trebuie doar să afișeze caseta.Setați mesajul și titlul în MessageBox.Show call.
Selectați Fișier > Salvare ca. Introduceți ShowMessage.batca nume de fișier și selectați Toate fișierele ca tip de fișier, apoi salvați-l într-un loc ușor de găsit, cum ar fi Desktopul. Dacă păstrați tipul ca document text, Notepad îl poate salva în ShowMessage.bat.txtschimb ca.Salvați cu extensia .bat și alegeți Toate fișierele.
Deschideți fișierul salvat ShowMessage.bat. Apare caseta de mesaj; faceți clic pe OK pentru a o închide.Rulați fișierul batch salvat din File Explorer.Caseta de mesaj personalizat rămâne deschisă până când se selectează OK.
Deoarece fișierul batch imbrica PowerShell într-o comandă între ghilimele, păstrați textul simplu și evitați ghilimelele duble în mesaj și titlu.
Executați comanda direct în PowerShell
Deschideți Windows PowerShell din Start.Deschideți Windows PowerShell pentru o comandă unică.
Încărcați Windows Forms, apoi apelați MessageBox.Show.
Faceți clic pe OK când apare caseta de dialog.Comanda PowerShell afișează mesajul solicitat.
Pentru un script PowerShell reutilizabil, salvați cele două linii PowerShell de mai sus în Notepad ca ShowMessage.ps1, alegând Toate fișierele . Executați o copie Desktop cu & "$env:USERPROFILE\Desktop\ShowMessage.ps1". Dacă o politică de execuție blochează scriptul, utilizați comanda inline sau fișierul batch în loc să modificați o politică la nivel de dispozitiv. Consultați documentația Microsoft Add-Type .
Afișează un mesaj din Linia de comandă
În Promptul de comandă , lipiți această comandă pe o singură linie și apăsați Enter . Aceasta pornește Windows PowerShell și îi transmite codul de dialog:
Linia de comandă poate transmite același apel de dialog către PowerShell.
Caseta de dialog apare pe desktop; închideți-o cu OK , apoi Linia de comandă revine la promptul său. -NoProfileComutatorul pornește PowerShell fără a încărca profilul utilizatorului, așa cum este descris în referința liniei de comandă Windows PowerShell de la Microsoft .
Închideți caseta de dialog pentru a reveni la linia de comandă.
Folosește butoanele Da și Nu
Pentru a pune o întrebare, schimbați argumentele butonului și pictogramei, apoi verificați rezultatul. Metoda returnează un DialogResult, astfel încât scriptul dvs. poate efectua o acțiune diferită în funcție de răspuns:
$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' }
Folosește Da și Nu atunci când scriptul necesită o decizie a utilizatorului.
Șirurile PowerShell între ghilimele simple tratează majoritatea caracterelor literal. Dacă mesajul în sine conține un apostrof, dublați-l în interiorul șirului (de exemplu, ). Consultați regulile de citare PowerShell'Don''t close this window' de la Microsoft . Pentru o comandă batch, evitați și ghilimelele duble în interiorul mesajului, deoarece comanda este imbricată într-un argument între ghilimele.-Command
Dacă nu apare caseta de mesaj
Confirmați că fișierul se termină în .batsau .ps1, nu .txt.
Rulați-l într-o sesiune desktop conectată; un serviciu sau un proces neinteractiv poate să nu afișeze interfața utilizator acolo.
Folosește Alt+Tab dacă dialogul se află în spatele unei alte ferestre.
Dacă un script salvat eșuează, încercați comanda inline pentru a izola erorile legate de numele fișierului sau de ghilimele.
Dacă tot ce ai nevoie este o reamintire care nu ar trebui să întrerupă sarcina curentă, folosește o notificare Windows în locul acestei ferestre modale. Pentru o fereastră pop-up personalizată simplă care trebuie confirmată, metoda PowerShell de mai sus este cea mai scurtă rută.