Laman » bagaimana untuk » Bolehkah saya Menjalankan Fail Batch Windows tanpa Prompt Perintah yang Boleh Dilihat?

    Bolehkah saya Menjalankan Fail Batch Windows tanpa Prompt Perintah yang Boleh Dilihat?

    Fail-fail batch adalah cara yang berguna untuk melaksanakan beberapa perintah dalam Windows, tetapi adakah ia tetap berjalan di dalam latar belakang? Baca tentang bagaimana caranya.

    Sesi Soalan & Jawapan hari ini datang kepada kami dengan ihsan SuperUser-bahagian pembahagian Stack Exchange, kumpulan yang diketuai oleh komuniti laman web Q & A.

    Soalan

    Pembaca SuperUser Jake mahu menjalankan fail BAT secara tidak jelas, dia menulis:

    Saya telah memasang permata ruby ​​yang dipanggil Redcar, yang dilancarkan dari baris arahan. Apabila ia berjalan, ia mencuri shell sehingga ia tamat, jadi saya perlu membuat tetingkap cangkang baru untuk terus melakukan kerja baris perintah. Cengkerang yang saya gunakan adalah shell GITBash dari MySysGit.

    Saya dapati fail Redcar.bat yang dimaksudkan untuk melancarkan Redcar sebagai pintasan, saya menganggapnya, tetapi saya tidak mahu tingkap command prompt tambahan untuk dibuka setiap kali saya melancarkan fail BAT.

    Bagaimanakah saya dapat menjalankan BAT tanpa melihat petikan itu??

    Adakah terdapat penyelesaian untuk keinginan Jake yang senyap?

    Jawapannya

    Penyumbang SuperUser Afrazier menjawab dengan gabungan berita buruk dan baik:

    Anda tidak dapat - melaksanakan fail batch dengan Command Prompt yang dibina akan menyimpan tetingkap terbuka sehingga keluar file batch.

    Apa yang anda boleh lakukan langkah-langkah untuk memastikan bahawa fail batch keluar secepat mungkin. Jika boleh, ubah suai fail kumpulan untuk menjalankan program apa saja dengan mulakan perintah. Secara lalai, mulakan kembali segera tanpa menunggu program keluar, jadi fail kumpulan akan terus berjalan dan, mungkin, keluar dengan segera. Pasangan yang dengan mengubah suai pintasan anda untuk menjalankan fail batch diminimumkan, dan anda hanya akan melihat flash taskbar tanpa melihat tetingkap di skrin.

    Satu kaveat untuk ini ialah jika anda menjalankan program mod konsol, yang banyak penafsir skrip, fail batch akan menunggu program keluar, dan menggunakan mulakan akan menelurkan tetingkap konsol baru. Apa yang anda perlu lakukan dalam kes ini ialah menjalankan penterjemah versi berasaskan Windows dan bukannya berasaskan konsol - tidak mulakan perlu. Untuk Perl, anda akan berjalan wperl.exe bukannya perl.exe. Untuk Python, itu pythonw.exe bukannya python.exe. Pengedaran win32 lama saya telah dimuat turun rubyw.exe, yang sepatutnya melakukan perkara yang sama.

    Kemungkinan terakhir ialah menggunakan alat pihak ketiga untuk menjalankan arahan arahan dengan tetingkap tersembunyi. Saya telah mendengar perkara-perkara seperti itu tetapi tidak pernah digunakan untuk mereka, jadi saya tidak tahu apa-apa khususnya untuk menunjukkan kepada anda.

    Pembaca juga menunjuknya kepada thread SuperUser lain yang menyoroti bagaimana anda boleh menggunakan Visual Basic Script untuk melampaui mengurangkan penglihatan dan menyembunyikan langsung CMD prompt. Dalam benang itu, Harry MC menerangkan:

    Penyelesaian 1:

    Simpan satu baris teks ini sebagai fail invisible.vbs:

    CreateObject ("Wscript.Shell"). Jalankan "" "" & WScript.Arguments (0) & "" "", 0, False

    Untuk menjalankan sebarang program atau fail kumpulan secara tidak dapat dilihat, gunakannya seperti ini:

    wscript.exe "C: \ Wherever \ invisible.vbs" "C: \ Beberapa Tempat Lain \ MyBatchFile.bat"

    Untuk juga dapat menyampaikan / menyampaikan senarai hujah hanya menggunakan dua petikan berganda

    CreateObject ("Wscript.Shell"). Jalankan "" & WScript.Arguments (0) & "", 0, False

    contoh: Invisible.vbs "Kill.vbs ME.exe"

    Penyelesaian 2:

    Gunakan alat arahan untuk melancarkan proses secara diam-diam: Tenang.

    Menggunakan mana-mana penyelesaian di atas, berdasarkan tahap keselesaan anda menggunakan VBS dan alat pihak ketiga atau tidak, sekurang-kurangnya dapat mengurangkan penglihatan tetingkap CMD atau menghapusnya secara langsung.


    Mempunyai sesuatu untuk menambah penjelasannya? Bunyi dalam komen. Ingin membaca lebih banyak jawapan dari pengguna Stack Exchange yang berteknologi tinggi? Lihat thread perbincangan penuh di sini.