Bagaimana cara menonaktifkan penutupan perintah prompt otomatis setelah selesai?

18

Saya tahu ada beberapa trik dengan versi windows yang lebih lama untuk mencapai ini, tetapi tidak yakin pada windows 7.

Jika saya memiliki perangkat lunak yang menjalankan perintah dengan sakelar yang menghasilkan jendela cmd.exe membuka dan menutup dengan cepat, bagaimana saya bisa mengonfigurasi ulang prompt perintah untuk TIDAK menutup otomatis begitu tugas selesai.

Kuncinya di sini adalah bahwa perintah yang dieksekusi memang file batch, termasuk pernyataan jeda di akhir, tetapi cara perangkat lunak mencoba menjalankan perintah gagal. Karena itu menutup begitu cepat, kita tidak tahu kesalahan apa yang dikembalikan karena itu menutup begitu cepat.

Mythics
sumber
Pertanyaan yang bagus, diam-diam saya juga berharap saya tahu ini karena kadang-kadang patch game / software masuk. File BAT ditutup setelah instruksi dieksekusi tanpa jeda dan menampilkan perintah yang dieksekusi kepada pengguna akhir.
Boris_yo
1
Mengapa tidak membuka jendela perintah, cd ke direktori itu dan jalankan batch dari sana? Itu akan berjalan di jendela cmd non-penutupan yang sama yang akan tetap terbuka ketika batch selesai. Itu mungkin memberi Anda beberapa petunjuk untuk membantu men-debug-nya.
jdh
Terima kasih slhck, Anda mengarahkan saya ke lokasi itu sepertinya kemungkinan terdekat untuk mencapai apa yang saya inginkan ada dalam registri untuk batfile / cmdfile.
Mythics

Jawaban:

8

Alih-alih menjalankan .batfile itu langsung dari Explorer atau metode lain apa pun yang Anda gunakan, luncurkan secara manual cmd.exe(jika diperlukan dengan hak istimewa yang ditingkatkan) dan kemudian jalankan .batfile Anda dari sana. Kemudian setelah selesai eksekusi Anda masih akan melihat semua output ... seperti di hari-hari DOS lama yang baik. :)

Mxx
sumber
Tekan mulai dan ketik cmddan tekan enter, Anda akan meluncurkan prompt perintah. Cukup seret dan letakkan apa yang Anda butuhkan untuk menjalankan (skrip python atau .exe) ke dalam cmd windows, dan tekan enter.
JinSnow
6

Di file .bat Anda, gunakan pauseperintah. Ini akan mencegah file .bat Anda tidak bisa ditutup.

Sebagai contoh, ini adalah file bat saya yang saya gunakan untuk memulai layanan MySQL di PC saya:

net start MySQL
pause

Catatan: Di Windows 7 saya memulai file bat ini dari nama Administrator. Untuk melakukan ini klik tombol kanan mouse pada file .bat Anda dan pilih "Mulai dari nama Administrator" dari menu dropdown.

Nikita
sumber
5

Anda harus menggunakan sakelar / k saat menelepon.

Detail yang berguna di sini .

Shevek
sumber
1

Di skrip .bat, Anda meninggalkan "keluar" di akhir skrip untuk membiarkan jendela perintah terbuka.

Jendela perintah yang dibuka oleh skrip selalu menutup sendiri di akhir skrip karena tergantung pada skrip. Membuka jendela sendiri dan menjalankan skrip tidak menutup jendela kecuali Anda telah menentukan perintah "keluar" di akhir skrip karena jendela tidak bergantung pada skrip.

Tampaknya tidak ada cara untuk mencegah jendela yang tergantung pada skrip ditutup setelah skrip berakhir pada Windows 7. Namun, ada kemungkinan pesan kesalahan akan direkam di tempat lain. Apakah program memiliki file log? Atau ada entri dalam log Windows?

music2myear
sumber
0
pause>nul

ini seharusnya bekerja.

Menjawab
sumber
2
Silakan baca pertanyaan itu lagi dengan seksama. Jawaban Anda tidak menjawab pertanyaan awal. "Kuncinya di sini adalah bahwa perintah yang dieksekusi memang file batch, termasuk pernyataan jeda di akhir, "
DavidPostill
0

Tekan startdan ketik cmddan tekan enter, Anda akan meluncurkan prompt perintah. Cukup seret dan letakkan apa yang Anda perlukan untuk menjalankan (skrip python, .exe ...) ke dalam cmd windows, dan tekan enter. (Jika Anda perlu menjalankan cmd sebagai admin, temukan cmd di menu mulai, klik kanan padanya, pilih run as admin) (Bekerja pada windows 7)

JinSnow
sumber
Tolong jangan memposting jawaban yang sama untuk beberapa pertanyaan. Jika informasi yang sama benar-benar menjawab kedua pertanyaan, maka satu pertanyaan (biasanya yang baru) harus ditutup sebagai duplikat dari yang lain. Anda dapat menunjukkan ini dengan memilih untuk menutupnya sebagai duplikat atau, jika Anda tidak memiliki reputasi yang cukup untuk itu, angkat bendera untuk menunjukkan bahwa itu adalah duplikat. Kalau tidak, sesuaikan jawaban Anda untuk pertanyaan ini dan jangan hanya menempelkan jawaban yang sama di banyak tempat.
DavidPostill
0

Saya mengalami masalah ini untuk sementara waktu sekarang dan saya akhirnya menyadari apa yang terjadi.

Ketika Anda memulai tugas dengan penjadwal tugas dan ini adalah file bat, itu akan membuka jendela cmd ke C: \ WINDOWS \ system32 dan BUKAN di mana file bat berada. Mengapa? Saya tidak tahu! Jadi yang harus saya lakukan adalah menambahkan direktori dengan cd ke file bat.

Contoh di bawah ini:

cd c: \ blahblahblah

startmyprogram.exe

pengguna38300
sumber
Jawaban Anda menciptakan banyak kebingungan dan Anda tidak dapat menentukan alasan di balik masalah yang ditemui OP. Lebih baik Anda merujuk tautan ini superuser.com/help/how-to-answer , akan membantu Anda saat menjawab.
Rajesh S