Pertanyaan ini sudah ada jawabannya di sini:
Saya telah menginstal permata ruby yang disebut Redcar, yang diluncurkan dari baris perintah. Saat dijalankan, ia mencuri shell hingga berakhir, jadi saya harus membuat jendela shell baru untuk terus melakukan pekerjaan baris perintah. Shell yang saya gunakan adalah shell GITBash dari MySysGit.
Saya menemukan file Redcar.bat yang dimaksudkan untuk meluncurkan Redcar sebagai jalan pintas, saya kira, tapi saya tidak ingin jendela command prompt tambahan terbuka setiap kali saya meluncurkan file BAT.
Bagaimana saya menjalankan BAT tanpa melihat prompt?
windows
command-line
batch
Jake
sumber
sumber
set var1=hello.txt
baris 2:start "test" notepad.exe "%~dp0%var1%"
::
atau@REM
. Sumber: superuser.com/a/843754/101936Jawaban:
Anda tidak bisa - menjalankan file batch dengan Command Prompt bawaan akan membuat jendela terbuka sampai file batch keluar.
Yang dapat Anda lakukan adalah mengambil langkah-langkah untuk memastikan bahwa file batch keluar secepat mungkin. Jika memungkinkan, modifikasi file batch untuk menjalankan program apa pun dengan
start
perintah. Secara default,start
segera kembali tanpa menunggu program untuk keluar, sehingga file batch akan terus berjalan dan, mungkin, segera keluar. Pasangan itu dengan memodifikasi pintasan Anda untuk menjalankan file batch diminimalkan, dan Anda hanya akan melihat taskbar flash tanpa melihat jendela layar.Satu peringatan untuk ini adalah bahwa jika Anda menjalankan program mode-konsol, yang banyak penerjemah skrip, file batch akan menunggu program untuk keluar, dan menggunakan
start
akan memunculkan jendela konsol baru. Apa yang perlu Anda lakukan dalam hal ini adalah menjalankan versi interpreter berbasis Windows alih-alih yang berbasis konsol - tidakstart
perlu. Untuk Perl, Anda akan menjalankanwperl.exe
bukannyaperl.exe
. Untuk Python, inipythonw.exe
bukanpython.exe
. Distribusi win32 Ruby lama yang telah saya unduh memilikirubyw.exe
, yang seharusnya melakukan hal yang sama.Kemungkinan terakhir adalah menggunakan alat pihak ke-3 untuk menjalankan command prompt dengan jendela tersembunyi. Saya pernah mendengar hal-hal seperti itu tetapi tidak pernah menggunakannya, jadi saya tidak tahu apa-apa yang bisa Anda tunjukkan.
sumber
Saya pikir ini adalah solusi termudah dan terpendek untuk menjalankan file batch tanpa membuka jendela DOS, itu bisa sangat mengganggu ketika Anda ingin menjadwalkan satu set perintah untuk berjalan secara berkala, sehingga jendela DOS terus bermunculan, di sini adalah solusi Anda . Gunakan VB Script untuk memanggil file batch ...
Salin baris di atas ke editor dan simpan file dengan ekstensi .VBS. Edit nama file .BAT dan jalur yang sesuai. Kemudian jalankan saja file .vbs dan keajaiban terjadi!
sumber
Anda dapat menjalankan file batch lain dengan START / MIN CMD.EXE / C mybatchfile.bat dari dalam prompt perintah.
Dari luar itu akan membawa jendela konsol cmd tetapi untuk menghindari itu, Anda dapat membuat file pintas dengan properti yang dimodifikasi untuk mulai diminimalkan .
sumber
Untuk melakukan ini, gunakan program Bat To Exe Converter untuk mengkonversi file batch Anda menjadi file yang dapat dieksekusi.
Saat mengkonversi menjadi file yang dapat dieksekusi, Anda akan menemukan opsi untuk menjalankan file Anda sebagai aplikasi yang tak terlihat di bagian visibilitas. Jadi, ketika Anda menjalankannya, itu akan berjalan tanpa jendela.
sumber
Melanjutkan jawaban Dennis Williamson, Anda dapat mengedit file batch dan menambahkan (prepend)
START /B
ke perintah yang Anda jalankan.Sebagai contoh, saya memiliki file batch yang menjalankan dempul dan memiliki masalah yang sama (CMD tambahan), jadi ini adalah bagaimana saya menulisnya:
Itu bekerja dengan sempurna.
sumber
Cobalah ini:
catatan ditambahkan oleh barlop
mulai /? kata / B
sumber
Saya tidak jelas dengan masalah Anda, tetapi dengan beberapa file batch saya, saya menggunakan "bodoh" yang hanya bertujuan untuk meluncurkan file batch utama.
Jadi GO.BAT akan memiliki:
Keluar menutup jendela command prompt yang seharusnya tetap terbuka.
Dan GO2.BAT akan memiliki konten file batch sebenarnya yang saya inginkan.
sumber
Anda bisa menggunakan RunHiddenConsole
hideExec.bat
sumber
Jika Anda masih tertarik untuk tidak menampilkan jendela konsol sama sekali, berikut adalah solusi dari stackoverflow yang bekerja untuk saya (dalam kasus saya, saya tidak memasukkan apa pun di registri, tetapi di mana saya perlu).
sumber
Cukup letakkan tombol / b di depan jalan. Itu tidak akan membuka prompt perintah kedua.
sumber
Jawaban Indago sejauh ini merupakan solusi terbaik bagi saya. File VBS memungkinkan saya untuk menjalankan fungsi batch melalui skrip, mencegah jendela CMD terjadi di tempat pertama. Ada beberapa peringatan:
Jika batch Anda memerlukan hak admin, buat atau gunakan batch yang ada yang memanggil VBS dan jalankan batch itu sebagai Administrator.
Tanpa visibiitas, akan sulit untuk membedakan jika apa yang Anda coba lakukan benar-benar berjalan seperti yang Anda inginkan.
Dengan mengatakan itu, saya akan melakukan sedikit set-up / unit test mock pertama untuk memastikan itu bekerja persis seperti yang Anda inginkan, sebelum mengintegrasikannya.
sumber
Saya telah menggunakan cmdow di masa lalu, dan tampaknya telah bekerja untuk apa yang saya inginkan.
Anda mungkin ingin menggunakan salah satu opsi berikut:
CMDOW [window] /HID
/HID
menyembunyikan jendela yang ditentukanCMDOW [window] /END
/END
menutup jendela yang ditentukanCMDOW [window] /CLS
/CLS
dengan sopan meminta jendela ditutup (beberapa jendela dapat membuka kotak dialog)Semoga ini membantu.
sumber
Cukup buat jalan pintas ke file batch, klik kanan padanya, klik
Properties
, bukaGeneral
tab, centang kotak yang disebutHidden
, klikApply
dan kemudianOK
.Sekarang saat Anda membuka pintasan itu akan menjalankan file batch Tersembunyi.
sumber