If-Koubou

Mogu li pokrenuti batch datoteku sustava Windows bez vidljivog naredbenog retka?

Mogu li pokrenuti batch datoteku sustava Windows bez vidljivog naredbenog retka? (Kako da)

Batch datoteke su zgodan način za izvršavanje niza naredbi u sustavu Windows, ali je li ih ionako nevidljivo u pozadini? Pročitajte kako saznajte kako.

Današnja pitanja i odgovori nam se javljaju zahvaljujući SuperUseru - podjele Stack Exchange-a, zajednice-driven grupiranja Q & A web stranica.

Pitanje

Čitač SuperUser Jake želi pokrenuti BAT datoteku nevidljivo, piše:

Imam instaliran rubinski dragulj zvan Redcar, koji je pokrenut iz naredbenog retka. Kada se pokrene, uklanja ljusku dok ne prestane, pa moram stvoriti novi prozor ljuske za nastavak rada naredbenog retka. Shell koju koristim je GITBash ljuska iz MySysGita.

Pronašao sam datoteku Redcar.bat koja je namijenjena za pokretanje Redcara kao prečac, pretpostavljam, ali ne želim da se dodatni naredbeni prozor otvori svaki put kada pokrenem BAT datoteku.

Kako mogu pokrenuti NRT bez vidnog upita?

Postoji li rješenje za Jakeovu neodoljivu brzu želju?

Odgovori

Super Usher suradnik Afrazier odgovara kombinacijom loših i dobrih vijesti:

Ne možete - izvršiti batch datoteku s ugrađenim naredbenim retkom će zadržati prozor otvoren dok se batch datoteka ne izađe.

Što tilimenka poduzmite korake kako biste bili sigurni da batch datoteka izlazi što je brže moguće. Ako je moguće, izmijenite batch datoteku za pokretanje bilo kojeg programa spočetak naredba. Prema zadanim postavkama,početakvraća se odmah bez čekanja da se program izlazi, pa će se batch datoteka nastaviti prikazivati ​​i, vjerojatno, odmah izaći. Par koji mijenjanje prečaca za izvođenje batch datoteke smanjuje se, a samo ćete vidjeti traku zadataka bez da vidite prozor na ekranu.

Pritom se upozoravamo da ako pokrenete program konzole, koji su mnogi skriptni tumači, batch datoteka će čekati da program izađe i koristipočetak će stvoriti novi prozor konzole. Ono što trebate učiniti u ovom slučaju je pokrenuti verziju tumača koji se temelji na sustavu Windows umjesto konzole na bazi jedne - nepočetak potrebno. Za Perl, trčali bistewperl.exe umjestoperl.exe, Za Python, to jepythonw.exe umjestopython.exe, Stara win32 Ruby distribucija koju sam preuzima imarubyw.exe, koja bi trebala raditi istu stvar.

Konačna je mogućnost upotreba alata za treće strane za pokretanje naredbenog retka skrivenim prozorom. Čuo sam za takve stvari, ali nikad nisam imao koristi za njih, tako da ne znam ništa posebno da vas upućujem.

Čitatelji su mu također ukazali na još jedan SuperUser nit koji naglašava kako možete koristiti Visual Basic Script kako biste nadilazili smanjenje vidljivosti i izravno sakrili CMD prompt. U toj nit, Harry MC objašnjava:

Otopina 1:

Spremite ovaj redak teksta kao datotekuinvisible.vbs:

RunObject ("Wscript.Shell") Run "" "" & WScript.Arguments (0) & "" "", 0, False

Da biste bilo koji program ili skupnu datoteku pokrenuli neprimjetno, koristite ga ovako:

wscript.exe "C: \ Wherever \ invisible.vbs" "C: \ Neki drugi položaj \ MyBatchFile.bat"

Da biste također mogli prosljeđivati ​​/ prenijeti popis argumenata, koristite samo dvostruke navodnike

RunObject ("Wscript.Shell") Run "" & WScript.Arguments (0) & "", 0, False

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

2. rješenje:

Koristite alat naredbenog retka za tiho pokretanje postupka: tih.

Koristeći bilo koji od gore navedenih rješenja, na temelju vaše razine udobnosti pomoću VBS-a i alata treće strane ili ne, na minimum će se smanjiti vidljivost CMD prozora ili ga izravno ukloniti.

Imate li nešto za objašnjenje? Zvuči u komentarima. Želite li pročitati više odgovora od drugih tehnoloških korisnika Stack Exchangea? Pogledajte ovdje cijelu raspravu.