Apakah ada cara untuk menampilkan kotak pesan dari file batch (mirip dengan bagaimana xmessage
dapat digunakan dari bash-skrip di Linux)?
153
Apakah ada cara untuk menampilkan kotak pesan dari file batch (mirip dengan bagaimana xmessage
dapat digunakan dari bash-skrip di Linux)?
Jawaban:
Saya akan membuat file VBScript yang sangat sederhana dan menyebutnya menggunakan CScript untuk mem-parsing parameter baris perintah.
Sesuatu seperti yang tersimpan di bawah ini
MessageBox.vbs
:Yang Anda sebut seperti:
MsgBox
referensi jika Anda tertarik untuk menempuh rute ini.sumber
Pertama-tama, DOS tidak ada hubungannya dengan itu, Anda mungkin menginginkan solusi baris perintah Windows (sekali lagi: tidak ada DOS, Windows murni, hanya bukan Window, tetapi sebuah Konsol).
Anda bisa menggunakan metode VBScript yang disediakan oleh boflynn atau Anda bisa salah menggunakan
net send
ataumsg
.net send
hanya berfungsi pada versi windows yang lebih lama:Ini juga tergantung pada layanan Messenger yang harus dijalankan.
Untuk versi yang lebih baru (XP dan seterusnya, tampaknya):
Perlu dicatat bahwa kotak pesan dikirim menggunakan
msg.exe
hanya akan bertahan selama 60 detik. Namun ini bisa diganti dengan/time:xx
saklar.sumber
Mungkin menampilkan sedikit flash, tetapi tidak perlu file temp. Harus bekerja sepanjang jalan kembali ke suatu tempat di era (IIRC) IE5.
Jangan lupa untuk keluar dari tanda kurung Anda jika Anda menggunakan
if
:sumber
close() was unexpected at this time
.^
karakter pelarian itu dalam file kelelawarIni akan memunculkan jendela Prompt Perintah lainnya:
sumber
start cmd /c "@echo off & mode con cols=18 lines=2 & echo My Popup Message & pause>nul"
ubahcols=18
ke jumlah karakter dalam pesan + 2. Danlines=2
untuk berapa pun jumlah garis adalah +1.cmd /k
Coba:
Jika Anda menggunakan command.com Windows XP, ini akan membuka kotak pesan.
Membuka jendela cmd baru tidak cukup dengan apa yang Anda minta, saya kumpulkan. Anda juga bisa menggunakan VBScript , dan menggunakannya dengan file .bat Anda. Anda akan membukanya dari file bat dengan perintah ini:
Apa yang dilakukan adalah mengubah command.com direktori akan mencari file dari, kemudian pada baris berikutnya:
Kemudian Anda membuat dokumen Notepad baru , ketikkan
Anda kemudian akan menyimpan ini sebagai file .vbs (dengan meletakkan ".vbs" di akhir nama file), simpan sebagai "Semua File" di kotak drop-down di bawah nama file (sehingga tidak menyimpan sebagai .txt ), lalu klik Simpan!
sumber
<script/>
tag.msg *
Anda akan diminta untuk memasukkan pesan diikuti oleh ctrl-Z. Anda dapat memasukkan jeda baris di sini yang akan muncul dalam pesan Anda.Masih banyak cara.
1) Geekiest dan hackiest - menggunakan IEXPRESS untuk membuat exe kecil yang akan membuat pop-up dengan satu tombol ( ini dapat membuat dua jenis pesan pop-up lagi ). Bekerja pada SETIAP windows dari XP dan di atasnya:
2) Menggunakan
MSHTA
. Juga bekerja pada setiap mesin windows dari XP dan di atasnya (meskipun OP tidak ingin bahasa "eksternal" JavaScript di sini diminimalkan). Harus disimpan sebagai.bat
:atau dalam satu baris:
atau
atau
3) Inilah
.bat/jscript
hibrid berparameter (harus disimpan sebagaibat
). Lagi-lagi menggunakan JavaScript meskipun ada permintaan OP, tetapi karena ia merupakan kelelawar, ia dapat disebut sebagai file kelelawar tanpa khawatir. Ini menggunakan POPUP yang memungkinkan sedikit lebih banyak kontrol daripada MSGBOX yang lebih populer . Ini menggunakan WSH, tetapi tidak MSHTA seperti pada contoh di atas.4) dan satu
jscript.net/.bat
hybrid (harus disimpan sebagai.bat
). Kali ini menggunakan.NET
dan mengkompilasi.exe
file kecil yang dapat dihapus:5) dan pada akhirnya satu panggilan ke PowerShell yang membuat pop-up (dapat dipanggil dari command line atau dari batch jika PowerShell diinstal):
6) Dan pendekatan dbenham terlihat di sini
7 ) Untuk pemberitahuan baki sistem Anda dapat mencoba ini :
sumber
Dengan cara ini file batch Anda akan membuat skrip VBS dan menampilkan sembulan. Setelah berjalan, file batch akan menghapus file perantara itu.
Keuntungan menggunakan MSGBOX adalah benar-benar dapat dikustomisasi (mengubah judul, ikon dll) sementara MSG.exe tidak sebanyak itu.
sumber
Berikut adalah varian PowerShell yang tidak memerlukan pemuatan majelis sebelum membuat jendela, namun itu berjalan jauh lebih lambat (~ + 50%) daripada perintah PowerShell MessageBox yang diposting di sini oleh @npocmaka:
Anda dapat mengubah parameter terakhir dari "0x0" ke nilai di bawah ini untuk menampilkan ikon dalam dialog (lihat Metode Popup untuk referensi lebih lanjut):
0x10 Berhenti
0x20 Tanda Tanya
0x30 Tanda Seru
0x40 Tanda Informasi
Diadaptasi dari artikel Microsoft TechNet, PowerTip: Gunakan PowerShell untuk Menampilkan Jendela Munculan .
sumber
–Anda dapat menulis angka apa saja dari 0,1,2,3,4 bukannya 0 (sebelum simbol '+') & di sini adalah arti dari setiap angka:
–Anda dapat menulis angka apa saja dari 16,32,48,64 alih-alih 16 (setelah simbol '+') & di sini adalah arti dari setiap angka:
sumber
Msg * "masukkan pesan Anda di sini"
berfungsi dengan baik, cukup simpan sebagai file .bat di notepad atau pastikan format diatur ke "semua file"
sumber
msg %SESSIONNAME% msg
Pesan ini menunggu selamanya sampai OK diklik (hanya berlangsung satu menit secara default) dan berfungsi dengan baik di Windows 8.1
sumber
msg * /time:0 /w <C:\Somewhere\Message.txt
di mana dalam file tersebut adalah teks normal (mengandung CrLf's).Untuk melakukan ini, Anda harus memiliki program kecil yang menampilkan kotak pesan dan menjalankannya dari file batch Anda.
Anda bisa membuka jendela konsol yang menampilkan prompt, tetapi mendapatkan kotak pesan GUI menggunakan cmd.exe dan teman saja tidak mungkin, AFAIK.
sumber
Saya menggunakan utilitas bernama msgbox.exe dari sini: http://www.paulsadowski.com/WSH/cmdprogs.htm
sumber
Anda dapat menggunakan Zenity . Zenity memungkinkan untuk mengeksekusi kotak dialog dalam skrip command-line dan shell. Info lebih lanjut juga dapat ditemukan di Wikipedia .
Ini adalah lintas-platform: penginstal Windows untuk Windows dapat ditemukan di sini .
sumber
Mengikuti pada jawaban @ Fowl, Anda dapat memperbaikinya dengan batas waktu hanya muncul selama 10 detik menggunakan yang berikut:
Lihat di sini untuk detail lebih lanjut.
sumber
Anda dapat menjalankan fungsi dll dari user32.dll saya pikir Sesuatu seperti
Mengetiknya dari Ponsel saya, jangan menilai saya ... kalau tidak saya akan menautkan bendera tambahan.
sumber
rundll32.exe user32.dll,MessageBoxA X
menampilkan kotak pesan dengan X sebagai judul ketika saya melakukannya di kotak Jalankan. Apa pun yang saya buat X menjadi saya tidak bisa menafsirkannya sebagai beberapa parameter - semuanya masuk ke dalam judul. Jadirundll32.exe user32.dll,MessageBoxA (0, "MyTitle", "MyText", 0)
menampilkan kotak pesan dengan judul(0, "MyTitle", "MyText", 0)
Tapi saya tidak bisa berfungsi sama sekali dari baris perintah - hanya dari kotak Jalankan. Di baris perintah tidak ada artinya sama sekali. Apakah ini bekerja dengan pasti dari baris perintah atau dari file batch atau hanya dari kotak Jalankan?msg * /server:127.0.0.1 Ketikkan pesan Anda di sini
sumber
where msg
kembaliC:\Windows\System32\msg.exe
. Saya pikir Anda memikirkannet send
Aplikasi ini dapat melakukannya, jika Anda mengkonversi (membungkus) file batch Anda menjadi file yang dapat dieksekusi.
Kotak pesan sederhana
Galat kotak pesan
Batalkan Coba Lagi Kotak Pesan
4) "Jangan tanya aku lagi" Messagebox
sumber
Opsi yang lebih baik
set my_message=Hello world
&& start cmd /c "@echo off & mode con cols=15 lines=2 & echo %my_message% & pause>nul"
Deskripsi:
lines=
jumlah baris, ditambah 1cols=
jumlah karakter dalam pesan, ditambah 3 (Namun, minimum harus15
)cols
Versi yang dihitung secara otomatis :set my_message=Hello world
&& (echo %my_message%>EMPTY_FILE123 && FOR %? IN (EMPTY_FILE123 ) DO SET strlength=%~z? && del EMPTY_FILE123 ) && start cmd /c "@echo off && mode con lines=2 cols=%strlength% && echo %my_message% && pause>nul"
sumber
start cmd /c "@echo off & mode con cols=18 lines=2 & echo My Popup Message & pause>nul"
). Milikmu tidak. Ini menggemakan pesan tetapi gagal untuk mengatur ukuran jendela kembaliThe screen cannot be set to the number of lines and columns specified.
setidaknya di Windows 7.x
di direktori saat ini atau Anda tidak keberatan kehilangan itu.x
, perintah Anda gagal. Jangan berterima kasih kepada saya dan tolong perbaiki kode Anda. Anda bahkan tidak perlu menggunakan satu-liner. Dan jika menurut Anda kode Anda sangat bagus, silakan posting di Tinjauan Kode .Ini adalah skrip kumpulan yang saya kumpulkan berdasarkan jawaban yang baik di sini & di pos lainnya
Anda dapat mengatur batas waktu judul & bahkan tidur untuk menjadwalkannya untuk yang terakhir & \ n untuk baris baru
Beri nama popup.bat & taruh di folder path windows Anda untuk bekerja secara global di pc Anda
Misalnya
popup Line 1\nLine 2
akan menghasilkan kotak popup 2 baris (ketikpopup /?
untuk penggunaan)Ini kodenya
sumber
hanya perlu popup ketika berada di dalam vm, jadi secara teknis, harus ada beberapa kode seperti:
sumber