Tämän päivän kysymys- ja vastausistunto tulee meihin SuperUserin hyväksi - Stack Exchangein alaosasto, joka on yhteisöllinen Q & A-sivustojen ryhmittely.
Kysymys
SuperUser-lukija Jake haluaa käyttää BAT-tiedostoa näkymättömästi, hän kirjoittaa:
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?
Onko olemassa ratkaisu Jakeen salametsälle?
Vastaukset
SuperUser-avustaja Afrazier reagoi huonojen ja hyvien uutisten yhdistelmällä:
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
komento. Oletuksena,
start
palaa välittömästi odottamatta ohjelmaa poistumasta, joten komentotiedosto jatkuu ja oletettavasti poistuu välittömästi. Pariskunta, jolla muutetaan pikakuvaketta ajon tiedoston minimoimiseksi, ja näet tehtäväpalkin salaman vain näkymättä ikkunaa.
Yksi huomautus tähän on se, että jos käytät konsolimoodia, johon useat skriptien tulkit ovat, komentotiedosto odottaa ohjelman poistumista ja käyttää
start
tulee uusi konsoli-ikkuna. Tässä tapauksessa sinun on tehtävä tulkki Windows-pohjaisella versiolla konsolipohjaisen yhden sijasta
start
välttämätön. Perl, sinä juoksisit
wperl.exe
sijasta
perl.exe
. Python on se
pythonw.exe
sijasta
python.exe
. Vanha win32 Ruby jakelu, jonka olen ladannut on
rubyw.exe
jonka pitäisi tehdä sama asia.
Lopullinen mahdollisuus on käyttää kolmannen osapuolen työkalua suorittamaan komentokehote piilotetulla ikkunalla. Olen kuullut tällaisista asioista, mutta en ole koskaan käyttänyt niitä, joten en tiedä mistään, mikä erityisesti viittaa sinuun.
Lukijat myös viittasivat hänelle toiseen SuperUser-säikeeseen, joka korostaa, miten voit käyttää Visual Basic Script -ohjelmaa, jotta voit ohittaa näkyvyyden ja minimoida CMD-kehotteen. Tässä säikeessä Harry MC selittää:
Solution 1:
Save this one line of text as file
invisible.vbs
:
CreateObject ("Wscript.Shell") Suorita "" "" & WScript.Arguments (0) &"" "", 0, False
Jos haluat käyttää mitä tahansa ohjelmaa tai erätiedostoa näkymättömästi, käytä sitä näin:
wscript.exe "C: Wherever invisible.vbs" "C: Jotkut muut paikat MyBatchFile.bat"
Jotta voit myös siirtää / välittää argumenttien luettelon, käytä vain kahta kaksoisvetoketjua
CreateObject ("Wscript.Shell") Suorita "" & WScript.Arguments (0) &"", 0, False
esim. Invisible.vbs "Kill.vbs ME.exe"
Ratkaisu 2:
Käytä komentorivityökalua hiljalleen käynnistämään prosessi: Hiljainen.
Käyttämällä jotain edellä mainituista ratkaisuista, jotka perustuvat mukavuustasosi VBS- ja kolmansien osapuolten työkaluihin tai eivät, vähennetään vähintään CMD-ikkunan näkyvyyttä tai poistetaan se kokonaan.
Onko jokin asia lisättävä selitykseen? Kuulkaa kommentit. Haluatko lukea lisää vastauksia muilta tech-tajuilta Stack Exchange-käyttäjiltä? Katso koko keskusteluketju täältä.