Saya mencari beberapa cara untuk menjalankan file batch (.bat) tanpa ada yang terlihat oleh pengguna (tidak ada jendela, tidak ada nama taskbar, .etc ..).
Saya tidak ingin menggunakan beberapa program untuk melakukan itu, saya mencari sesuatu yang lebih bersih. Saya telah menemukan solusi yang menggunakan VBScript, tetapi saya juga tidak terlalu suka menggunakan VBS.
windows
command-line
batch-file
Moayad Mardini
sumber
sumber
Jawaban:
Solusi 1:
Simpan satu baris teks ini sebagai file
invisible.vbs
:Untuk menjalankan program atau file batch apa pun tanpa terlihat, gunakan seperti ini:
Agar dapat meneruskan / menyampaikan daftar argumen, gunakan hanya dua tanda kutip ganda
Contoh:
Invisible.vbs "Kill.vbs ME.exe"
Solusi 2:
Gunakan alat baris perintah untuk meluncurkan proses secara diam-diam: Diam , hidecon atau hideexec .
sumber
&
berarti string gabungan. String diapit dengan tanda kutip ganda ("
). Kutipan ganda berturut-turut (""
) di dalam pembatas string berarti kutipan ganda literal ("
). Jadi, empat kutipan ganda (""""
) akan menjadi string literal dari satu karakter, kutipan ganda ("
). Menyatukannya, dan"""" & WScript.Arguments(0) & """"
akan menjadi"<argument>"
, di mana<argument>
argumen baris perintah pertama dilewatkan ke skrip.wscript.exe "C:\Wherever\invisible.vbs" ...
dalamnya?Untuk Menyembunyikan file batch atau file perintah atau file apa pun .... Gunakan
IExpress.exe
utilitas bawaan Windows XP untuk membangun .EXE dari file batch. Saat menggunakanIExpress
pastikan Anda menandai opsi run hidden dan tandai semua kotak untuk tidak menampilkan apa pun. Setelah Anda membuat .exe, letakkan di folder perintah jalankan apa pun yang Anda pilih dan Anda tidak akan pernah melihatnya.sumber
use Cmdow adalah utilitas baris perintah Win32 untuk NT4 / 2000 / XP / 2003 yang memungkinkan windows untuk didaftar, dipindahkan, diubah ukurannya, dinamai / tidak disembunyikan, dinonaktifkan / diaktifkan, diminimalkan, dimaksimalkan, dipulihkan, diaktifkan, tidak diaktifkan, ditutup, dibunuh dan lebih.
Jalankan file batch yang tersembunyi melewati parameternya: -
sumber
Jika File Batch Anda dapat masuk ke dalam satu baris dan begitu banyak karakter, maka cukup gunakan Shortcut dengan mengklik kanan di dalam folder yang dimasukkan ke dalam direktori acak, dan melewati sisa wizard, dan terakhir klik kanan pada shortcut yang baru saja dibuat dan klik properti dan di bawah target, masukkan apa yang biasanya Anda masukkan ke file bat. Dan bobs pamanmu!
Pro:
Kekurangan:
sumber
Jalankan skrip melalui at a job tanpa membuatnya interaktif:
Solusi lain, jika Anda tidak keberatan menginstal sesuatu seperti Python, Anda bisa membuat skrip dan menjalankannya
pythonw
(versi tertaut untuk operasi GUI). Karena Anda tidak menggunakan API grafis apa pun, jendela tidak akan ditampilkan. Cukup gunakan panggilan keos.system()
dan itu akan meniru skrip batch, karena sama dengan mengetikkan string ke dalam baris perintah.Contoh:
sumber
Anda dapat menjalankannya seminimal mungkin.
sumber
Menggunakan Windows7, Anda dapat menggunakan panel kontrol "Tugas Terjadwal" untuk menjadwalkan file batch untuk berjalan di latar belakang tanpa terlihat dengan izin yang ditentukan dan bahkan sebagai akun "SISTEM". Lihat tangkapan layar di bawah ini:
Selain itu, meskipun dengan kemampuan yang tidak banyak, Anda juga dapat membuat tugas skrip batch tak terlihat seperti ini dari baris perintah menggunakan perintah "AT.exe" tanpa opsi '/ interaktif'.
sumber
Saya tidak suka solusi VBScript.
Unduh dan salin nircmd.exe ke
%systemroot%\system32
folder Anda , lalu tambahkan perintah ini ke baris pertama batch Anda:atau buat judul batch Anda terlebih dahulu dengan
title
perintah untuk menghindari menyembunyikan semuacmd
jendela, seperti ini:sumber
Tampaknya seseorang membuat daftar dari 7-8 cara untuk menjalankan 'diam':
sumber
Anda juga dapat membuat skrip AutoHotkey :
sumber
BELUM JAUH cara lain, dari C / C ++, adalah dengan menggunakan fungsi CreateProcess dengan bendera CREATE_NO_WINDOW. Ini memiliki banyak kekuatan ekstra yang tidak ditampilkan di sini. Ini hanya minimum yang Anda butuhkan untuk mengganti keluarga system () atau _spawn ().
sumber
Yang sangat baik Bat Untuk Exe Converter akan mengkonversi Anda
.bat
atau.cmd
mengajukan ke.exe
berkas.Ini memiliki UI yang sederhana. Anda dapat memilih untuk tidak memiliki jendela konsol dengan memilih opsi “Aplikasi tak terlihat”. Selain itu, ini memungkinkan Anda untuk menetapkan ikon, paket file terkait, dan beberapa opsi lainnya.
Berikut screenshot dari jendela antarmuka utama:
Perhatikan bahwa gambar ini kedaluwarsa. Ini menunjukkan versi 2.4.8, dan, pada September 2018, situs web ini menawarkan versi 3.0.10.0 (terakhir diperbarui 2018-03-23).
Peringatan: tautan situs web www.f2ko.de
coinhive.com
, yang secara luas diidentifikasi sebagai malware .sumber
Saya berhasil melakukannya dengan nircmd dengan cara ini:
nircmd.exe win hide ititle "cmd.exe"
Sekarang Anda akan memiliki file .exe yang setelah Anda doble klik dan instal, .bat Anda akan berjalan sangat tersembunyi.
sumber
sumber
'cmdow' is not recognized as an internal or external command, operable program or batch file.
Anda tidak perlu melakukan hal khusus.
Jika Anda menjalankan file batch dari layanan windows, mereka harus disembunyikan secara default kecuali Anda mengaktifkan opsi "Izinkan layanan untuk berinteraksi dengan desktop" pada layanan.
sumber
Buat skrip batch Anda dengan batch logika dan perintah di dalamnya, dan kemudian buat file baru dengan
.VBS
ekstensi, gunakan logika di bawah ini (contoh saya berikan di bawah) dan cukup tancapkan path lengkap ke file Anda.CMD
atau.BAT
dengan perintahPING -t <IPAddress>
, dll. ia mengeksekusi batch dengan cara tersembunyi yang tidak menampilkan jendela perintah ketika dieksekusi.Di mana logika dalam contoh di bawah ini menentukan
C:\Folder\BatchFileName.cmd
perubahan itu untuk menunjuk ke skrip kumpulan dengan perintah Anda yang Anda jalankan secara manual, dll. Sekarang.Simpan
.VBS
file dan jadwalkan denganTask Scheduler
Masalah menjadwalkan tugas di windows7 untuk berjalan pada jadwal yang tidak terbatas untuk kebutuhan Anda.Jika tidak, cukup klik dua kali pada
.VBS
file untuk menjalankanPING
perintah tak terbatas yang Anda masukkan ke dalam file batch yang Anda arahkan sesuai kebutuhan.CATATAN: Saya percaya ini adalah tempat saya mendapatkan logika skrip ini dari tetapi ia bekerja dengan andal untuk tujuan yang sama yang Anda butuhkan di sini yaitu untuk memastikan jendela perintah disembunyikan ketika file batch dijalankan Server Fault Source
CONTOH VBS SCRIPT RUN COMMAND LINE BATCH HIDING CMD WINDOW
sumber
Di sini saya telah mengkompilasi semua cara yang saya tahu untuk memulai proses tersembunyi dengan batch tanpa alat eksternal. Dengan skrip yang siap digunakan (beberapa dari mereka cukup kaya pada opsi), dan semuanya membentuk baris perintah. Ada kemungkinan juga PID dikembalikan. Alat yang digunakan adalah IEXPRESS, SCHTASKS, WScript.Shell, Win32_Process dan JScript.Net
sumber
Meskipun saya sudah menjawab ini, inilah pendekatan lain. Perbedaannya di sini adalah bahwa skrip batch dapat menyembunyikan dirinya sendiri saat dijalankan. Anda akan memerlukan dua skrip tambahan - windowMode.bat dan getCMDPid.bat (keduanya berisi
.net
kode). Di sini bagaimana kemudian dapat digunakan:sumber
Saya memiliki masalah yang sama, tetapi menemukan jawabannya:
Shell("filehere" & "parametersforbatchfilehere", vbHidden)
sumber
Saya mulai mencoba mencari tahu dan tidak pernah benar-benar berhasil. Ini sedekat yang saya dapat:
sumber
Saya perlu menyembunyikan jendela untuk file batch yang dipanggil dari menu konteks explorer, dan juga perlu menambahkan kutipan pada parameter. Tidak ada jawaban yang bekerja untuk saya, jadi saya menambahkan solusi saya sendiri.
Saya punya ini di "perintah" registri untuk menu konteks explorer:
Jadi untuk menggantinya saya harus membuat vbs seperti ini:
Simpan di tempat seperti
C:\mypath\myscript.vbs
dan sebut seperti ini di registri:Perhatikan bahwa path .bat tidak dapat memiliki spasi, jadi ganti dengan nama file 8.3. Jadi misalnya
C:\Program Files\myprogram.bat
harus dirujuk sebagaiC:\Progra~1\myprogram.bat
. Untuk melihat penggunaan nama file 8.3dir /x
sumber
Saya menciptakan RunApp untuk melakukan pekerjaan seperti itu dan juga menggunakannya dalam produksi saya, semoga membantu.
Konfigurasi seperti di bawah ini:
file: config.arg
Dan luncurkan
runapp.exe
saja.sumber
Ini bekerja untuk windows 8 (mungkin orang lain)
klik berlaku
Klik pada jalan pintas dan itu akan berjalan tetapi Anda tidak akan melihatnya :)
sumber