Mogu li pokrenuti paketnu datoteku sustava Windows bez vidljivog naredbenog retka?
Batch datoteke su zgodan način za izvršavanje niza naredbi u sustavu Windows, ali postoji li ih uopće nevidljivo izvoditi u pozadini? Pročitajte kako saznati kako.
Današnja sesija pitanja i odgovora dolazi nam ljubaznošću SuperUser-a, podjele Stack Exchangea, grupiranja web-lokacija za pitanja i odgovore u zajednici.
Pitanje
Čitač SuperUser Jake želi nevidljivo pokrenuti BAT datoteku, piše:
Instalirao sam rubin "Redcar" koji se pokreće iz naredbenog retka. Kada se pokrene, krade ljusku dok se ne završi, pa moram stvoriti novi prozor ljuske za nastavak rada u naredbenom retku. Ljuska koju koristim je GITBash ljuska iz MySysGita.
Našao sam datoteku Redcar.bat koja je namijenjena za pokretanje Redcara kao prečac, pretpostavljam, ali ne želim da se dodatni prozor naredbenog retka otvori svaki put kad pokrenem BAT datoteku.
Kako mogu pokrenuti BAT bez da vidim prompt?
Postoji li rješenje za Jakeovu nečujnu brzu želju?
Odgovori
Suradnik SuperUser Afrazier odgovara kombinacijom loših i dobrih vijesti:
Ne možete - izvršavanje skupne datoteke s ugrađenim naredbenim retkom zadržat će otvoren prozor dok ne izađe datoteka datoteke.
Što ti limenka Potrebno je poduzeti korake kako bi se osiguralo da naredbena datoteka izlazi što je brže moguće. Ako je ikako moguće, izmijenite batch datoteku da biste pokrenuli bilo koji program s oznakom
početak
naredba. Prema zadanim postavkama,početak
vraća se odmah, bez čekanja da program izađe, pa će se naredbena datoteka nastaviti izvoditi i, vjerojatno, odmah izaći. Paralelno s izmjenom prečaca za pokretanje skupne datoteke minimiziran je i vidjet ćete samo da se bljeskalica trake zadataka ne pojavljuje čak ni na zaslonu.Jedno upozorenje je da ako pokrenete program za konzolni način rada, koji su mnogi tumači skripti, skupna datoteka čekat će da program izađe, a upotreba
početak
će stvoriti novi prozor konzole. Ono što trebate učiniti u ovom slučaju je pokretanje verzije tumača na Windows-u umjesto konzole-bazirane - nepočetak
potrebno. Za Perla, ti bi trčaowperl.exe
umjestoperl.exe
. Za Pythona, to jepythonw.exe
umjestopython.exe
. Stara win32 Ruby distribucija koju sam skinula imarubyw.exe
, koji bi trebao učiniti istu stvar.Konačna mogućnost je korištenje alata treće strane za pokretanje naredbenog retka sa skrivenim prozorom. Čuo sam za takve stvari, ali nikada nisam imao koristi od njih, tako da ne znam ništa o čemu bih vas posebno upućivao.
Čitatelji su ga također usmjerili na drugu SuperUser nit koja ističe kako možete koristiti Visual Basic Script kako biste nadišli minimiziranje vidljivosti i potpuno skrivanje CMD prompta. U toj niti Harry MC objašnjava:
Rješenje 1:
Spremite ovaj redak teksta kao datoteku
invisible.vbs
:CreateObject (“Wscript.Shell”) Pokreni “” ”” & WScript.Arguments (0) & “” ”, 0, False
Za pokretanje bilo kojeg programa ili batch datoteke nevidljivo, koristite ga na sljedeći način:
wscript.exe “C: Gdje god nevidljiv.vbs” “C: Neko drugo mjesto \ t
Da biste mogli proslijediti / proslijediti popis argumenata, upotrijebite samo dva dvostruka navodnika
CreateObject (“Wscript.Shell”) Pokreni “” & WScript.Arguments (0) & “”, 0, False
npr: Invisible.vbs “Kill.vbs ME.exe”
2. rješenje:
Koristite alat naredbenog retka da biste tiho pokrenuli proces: Tišina.
Primjenom bilo kojeg od gore navedenih rješenja, na temelju razine udobnosti pomoću VBS-a i alata treće strane, minimalno će se smanjiti vidljivost CMD prozora ili će se izravno ukloniti.
Imate li što dodati objašnjenju? Zvuk isključen u komentarima. Želite li pročitati više odgovora od drugih tehničkih korisnika Stack Exchangea? Pogledajte cjelokupnu temu za raspravu ovdje.