Ali lahko zaganjam paketno datoteko sistema Windows brez vidnega ukaznega poziva?
Paketne datoteke so priročen način za izvajanje niza ukazov v operacijskem sistemu Windows, vendar jih je mogoče v ozadju nevidno zagnati? Preberite o tem, kako.
Današnja seja vprašanj in odgovorov prihaja z namenom SuperUser-a, ki je del skupine Stack Exchange, ki temelji na skupnostih spletnih mest za vprašanja in odgovore.
Vprašanje
Bralnik SuperUser Jake želi nevidno zagnati datoteko BAT, piše:
Namestil sem ruby gem, imenovan Redcar, ki se zažene iz ukazne vrstice. Ko se zažene, ukrade lupino, dokler se ne konča, zato moram ustvariti novo okno lupine za nadaljevanje dela v ukazni vrstici. Lupina, ki jo uporabljam, je lupina GITBash iz MySysGit.
Našel sem datoteko Redcar.bat, ki je namenjena zagonu Redcarja kot bližnjice, domnevam, vendar ne želim, da se dodatno okno ukaznega poziva odpre vsakič, ko zaženem datoteko BAT.
Kako preprosto zaženem BAT, ne da bi videl poziv?
Ali obstaja rešitev za Jakeovo prikrito hitre želje?
Odgovori
Avtorica SuperUser Afrazier odgovarja s kombinacijo slabih in dobrih novic:
Ne morete - izvrševanje paketne datoteke z vgrajenim ukaznim pozivom bo odprlo okno, dokler paketna datoteka ne izstopi.
Kaj si ti? lahko Naredite naslednje korake, da se prepričate, da paketna datoteka zapre čim hitreje. Če je le mogoče, spremenite paketno datoteko in zaženite kateri koli program s
začetek
ukaz. Privzeto,začetek
vrne se takoj, ne da bi čakal, da program zapusti, tako da se bo paketna datoteka še naprej izvajala in verjetno takoj zapustila. Združite s tem, da ste s spreminjanjem bližnjice zmanjšali število paketov in videli boste, da je v opravilni vrstici samo bliskavica, ne da bi videli okno na zaslonu..Ena opozorilo za to je, da če uporabljate program konzolnega načina, ki ga uporabljajo mnogi interpretatorji scenarijev, bo paketna datoteka počakala, da program zapusti program, in z uporabo
začetek
bo ustvaril novo okno konzole. V tem primeru morate izvesti različico tolmača, ki temelji na operacijskem sistemu Windows, namesto konzolne različice - nezačetek
potrebno. Za Perla, bi tekelwperl.exe
namestoperl.exe
. Za Python jepythonw.exe
namestopython.exe
. Stara win32 Ruby distribucija, ki sem jo prenesel, jerubyw.exe
, kar bi moralo storiti isto stvar.Končna možnost je uporaba orodja 3. strani za zagon ukazne vrstice s skritim oknom. Slišal sem o takih stvareh, vendar nikoli nisem imel koristi od njih, zato ne vem ničesar, kar bi vas še posebej nakazalo.
Bralci so ga prav tako opozorili na drugo nit uporabnika SuperUser, ki poudarja, kako lahko uporabite skript Visual Basic za preseganje zmanjševanja vidnosti in popolne skritosti poziva CMD. V tej temi Harry MC pojasnjuje:
Rešitev 1:
Shrani to vrstico besedila kot datoteko
invisible.vbs
:CreateObject (“Wscript.Shell”). Zaženi “” ”& WScript.Arguments (0) &“ ””, 0, False
Če želite nevidno zagnati program ali paketno datoteko, ga uporabite tako:
wscript.exe “C: Kjer je invisible.vbs” “C: Nekaj drugega mesta \ t
Če želite imeti možnost posredovanja / posredovanja seznama argumentov, uporabite samo dva dvojna narekovaja
CreateObject (“Wscript.Shell”). Zaženi “” & WScript.Arguments (0) & “”, 0, False
npr .: Invisible.vbs “Kill.vbs ME.exe”
Rešitev 2:
Za tiho zagon postopka uporabite orodje ukazne vrstice: Quiet.
Z uporabo katerega koli od zgoraj naštetih rešitev, ki temelji na vaši ravni udobja z uporabo orodij VBS in orodij tretjih oseb, boste vsaj zmanjšali vidnost okna CMD ali ga odstranili..
Imate kaj dodati pojasnilu? Zvok izključen v komentarjih. Želite prebrati več odgovorov drugih uporabnikov tehnologije Stack Exchange? Oglejte si celotno nit razprave tukaj.