Aplikasi yang ingin saya mulai adalah MongoDB. Jika saya memulainya secara normal, tampilannya seperti ini:
Saya tidak suka jumlah jeda baris dan saya memiliki banyak ruang layar, jadi saya ingin memanfaatkan ruang tersebut untuk menghilangkan jeda baris.
Saya dapat mengubah ukuran jendela konsol MODE
, jadi saya menulis file batch seperti ini:
@ECHO OFF
MODE con:cols=140 lines=70
%~dp0mongodb\bin\mongod --dbpath %~dp0data --rest
Sejauh ini baik. Ketika saya memulai file batch ini, saya mendapatkan jendela yang lebih besar, seperti yang diinginkan.
Tapi ketika saya sekarang tekan Ctrl+ Cuntuk keluar dari MongoDB, saya mendapatkan prompt yang mengganggu:
Terminate batch job (Y/N)?
Yang tidak berguna, karena perintah yang baru saja saya keluar adalah perintah terakhir dalam pekerjaan batch dan tidak peduli apa yang saya jawab, hasilnya sama.
Jadi, bagaimana saya bisa mendapatkan jendela konsol yang lebih besar untuk aplikasi tanpa meminta itu ketika saya menekan Ctrl+ C?
sumber
Sejauh yang saya mengerti pertanyaannya, Anda ingin MongoDB memiliki ukuran jendela konsol yang ditentukan dan untuk keluar ketika Anda menekan Ctrl+ C. Maka jawabannya cukup sederhana: gunakan jalan pintas untuk memulainya.
Saya tidak memiliki
mongod
executable, jadi saya akan gunakanperl.exe
sebagai contoh. Ketika Anda memulainya dari dialog Run ( Windows+ R), ukuran jendela konsol akan menjadi standar 80 × 25 dengan ukuran buffer untuk 300 baris.mongod
(atauperl
dalam kasus saya).mongod
.Sekarang ketika Anda mengklik pintasan ini, jendela konsol akan memiliki ukuran yang ditentukan. Ketika Anda menekan Ctrl+ C, aplikasi keluar dan jendela ditutup tanpa ada permintaan tambahan.
Anda juga dapat mengubah tata letak jendela setelah Anda meluncurkannya dari dialog Run . Klik kanan judul jendela konsol dan klik Properti . Klik tab Layout , sesuaikan ukuran jendela dan klik OK untuk menutup properti dan menerapkan perubahan segera. (Jika jendela dimulai dari pintasan, properti pintasan diperbarui.)
Lain kali Anda memulai aplikasi yang sama, ukuran jendela konsol akan secara ajaib memiliki ukuran yang sama. (Saya belum memeriksanya kali ini tetapi dulu berfungsi.)
sumber
mongod.exe
tidak diperbaiki. Ini akan berubah tergantung pada penyebaran aplikasi. Itulah sebabnya saya mengincar solusi melalui konsol secara langsung. Ketika saya meletakkan jalur relatif di bidang target atau direktori kerja untuk jalan pintas, ia tidak akan menerimanya :(start cmd /k
dan melewati parameter tambahan atau menetapkan variabel lingkungan. Contoh kedua kemudian mengubah ukuran jendela konsol dan mulaimongod.exe
.Terminate batch job (Y/N)?
prompt: \ Saya sebenarnya baru saja selesai mengimplementasikan aplikasi wrapper untuk menyelesaikan masalah ini untuk saya.Pengaturan tata letak konsol default tinggal di sini di registri:
Anda dapat mengubah pengaturan ini dan itu akan berlaku untuk SEMUA jendela perintah yang diluncurkan, terlepas dari jalurnya. Sayangnya, nilai mentahnya tidak ramah manusia.
Untuk mengaturnya seperti yang Anda inginkan, buka jendela cmd biasa, lalu edit pengaturan sesuai keinginan Anda. Lihat di registri di jalur di atas dan Anda akan melihat sub kunci di bawah "Konsol" untuk cmd.exe. Ekspor kunci itu ke file, ubah jalur ke atas dan impor, atau cukup salin nilai secara manual dari satu ke yang lain. Anda kemudian dapat menghapus entri spesifik cmd.exe. Sekarang, semua jendela perintah yang terbuka akan menggunakan default yang dimodifikasi.
Saya merasa berguna untuk membuat beberapa file entri registri dengan standar standar saya sehingga saya dapat dengan mudah meletupnya ke server baru ketika saya RDP masuk untuk pertama kalinya. Saya membuat preset untuk dua ukuran yang biasanya saya gunakan.
Untuk 1024 x 768 (Saya menggunakan ini untuk server yang biasanya diakses melalui alat RDP multi sesi):
Untuk 1280 x 1024:
sumber
Letakkan
Start
perintah di depan memanggil mongodb. Saya percaya itu harus memperbaikinya.sumber
start /b
akan meninggalkan jendela konsol terbuka setelah saya menekan Ctrl + C.Jika Anda senang menjalankan file batch bersama dengan beberapa program pembantu kecil, solusi lengkap diposting oleh saya di sini:
Bagaimana file batch dapat menjalankan program dan mengatur posisi dan ukuran jendela?
Isi seperti di bawah ini. . . .
File kumpulan demo ini akan menjalankan program baris perintah dan mengatur posisi dan ukuran jendela konsol Prompt Perintahnya. Tema umum dari batch ini adalah sama dengan dua solusi sebelumnya (pada halaman Stack Overflow pada tautan di atas), tetapi ada beberapa masalah dan solusi yang unik untuk membuat pekerjaan ini - ini adalah jendela Prompt Perintah yang diselenggarakan oleh 'CMD .EXE 'dan bukan jendela GUI seperti' EXPLORER.EXE '.
Baca semua komentar dan deskripsi dalam file batch untuk info lebih lanjut.
Alat yang digunakan:
1. MonitorInfoView oleh Nir Sofer (41 KB)
2. NirCmd oleh Nir Sofer (43 KB)
3. GetPIDs oleh Daniel Scheibli (280 KB)
4. upx.exe --- adalah program baris perintah yang akan kita gunakan untuk demo ini; letakkan di direktori yang sama dengan file batch.
5. File batch --- lihat di bawah
Kumpulkan semua file ke dalam direktori. Ini adalah file batch, siap dijalankan di sistem Windows apa pun.
Apa yang akan dilakukan batch demo ini, selain menampilkan jendela konsol khusus kepada Anda, apakah akan dijalankan
upx.exe
dengan sakelar baris perintah--best -v -o getpids-compressed.exe getpids.exe
. Kami akan memampatkan alat kami 'GetPIDs' hingga 88 KB ........ Setelah diluncurkan, klik dua kali pada bilah judul jendela konsol ini untuk melihat fenomena menarik; jendela konsol ini berperilaku seperti GUI!sumber