Erätiedostot ovat kätevä tapa suorittaa joukko komentoja Windowsissa, mutta onko silti mahdollista ohjata niitä näkymättömästi taustalla? Lue lisää siitä, miten.
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.
SuperUser-lukija Jake haluaa käyttää BAT-tiedostoa näkymättömästi, hän kirjoittaa:
Olen asentanut Redcar-rubiininpennun, joka käynnistetään komentoriviltä. Kun se toimii, se varastaa kuoren, kunnes se päättyy, joten minun on luotava uusi kuori-ikkuna jatkaaksesi komentorivien tekemistä. Kuori, jota käytän, on MySysGitin GITBash-kuori.
Löysin Redcar.bat-tiedoston, jonka tarkoitus on käynnistää Redcar pikakuvakkeena, mutta en halua, että ylimääräinen komento-ikkuna aukeaa aina, kun käynnistän BAT-tiedoston.
Kuinka voin käyttää BATia näkemättä kehotetta?
Onko olemassa ratkaisu Jakeen salametsälle?
SuperUser-avustaja Afrazier reagoi huonojen ja hyvien uutisten yhdistelmällä:
Et voi - komentotiedostojen sisäänrakennetun komentosarjan suorittaminen komentoriviin pitää ikkunan auki, kunnes erätiedosto poistuu.
Mitä sinävoida tee vaiheet varmistaaksesi, että erätiedosto poistuu mahdollisimman nopeasti. Jos mahdollista, muokkaa komentojonotiedostoa ohjelman suorittamiseksi
alkaa
komento. Oletuksena,alkaa
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ää
alkaa
tulee uusi konsoli-ikkuna. Tässä tapauksessa sinun on tehtävä tulkki Windows-pohjaisella versiolla konsolipohjaisen yhden sijastaalkaa
välttämätön. Perl, sinä juoksisitwperl.exe
sijastaperl.exe
. Python on sepythonw.exe
sijastapython.exe
. Vanha win32 Ruby jakelu, jonka olen ladannut onrubyw.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ää:
Ratkaisu 1:
Tallenna tämä yksi rivi tekstistä tiedostona
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ä.