Domača » kako » Ali lahko zaganjam paketno datoteko sistema Windows brez vidnega ukaznega poziva?

    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 - ne začetek potrebno. Za Perla, bi tekel wperl.exe namesto perl.exe. Za Python je pythonw.exe namesto python.exe. Stara win32 Ruby distribucija, ki sem jo prenesel, je rubyw.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.