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:
I have installed a ruby gem called Redcar, which is launched from the command line. When it runs, it steals the shell until it terminates, so I have to create a new shell window to continue doing command line work. The shell I’m using is the GITBash shell from MySysGit.
I found a Redcar.bat file which is meant to launch Redcar as a shortcut, I presume, but I don’t want the extra command prompt window to open whenever I launch the BAT file.
How do I just run the BAT without seeing the prompt?
Postoji li rješenje za Jakeovu neodoljivu brzu želju?
Odgovori
Super Usher suradnik Afrazier odgovara kombinacijom loših i dobrih vijesti:
You can’t - executing a batch file with the built in Command Prompt is going to keep a window open until the batch file exits.
What you can do is take steps to make sure that the batch file exits as quickly as possible. If at all possible, modify the batch file to run whatever program with the
start
naredba. Prema zadanim postavkama,
start
vrać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 koristi
start
ć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 - ne
start
potrebno. Za Perl, trčali biste
wperl.exe
umjesto
perl.exe
Za Python, to je
pythonw.exe
umjesto
python.exe
Stara win32 Ruby distribucija koju sam preuzima ima
rubyw.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:
Solution 1:
Save this one line of text as file
invisible.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.