Futtathatok egy Windows kötegfájlt látható parancssor nélkül?
A kötegfájlok egy praktikus módja annak, hogy a parancssorokat Windows-ban végrehajtsák, de mégis láthatatlanul futtatják őket a háttérben? Olvassa el, hogyan.
A mai Kérdések és válaszok munkamenet a Jóvagyon - a Stack Exchange alosztályának, a közösség által vezérelt Q&A webhelyek csoportjának köszönhetően..
A kérdés
A SuperUser olvasó Jake láthatatlanul futtat egy BAT fájlt, írja:
Telepítettem egy Redcar nevű rubin gyöngyszemet, amely a parancssorból indul. Amikor fut, akkor ellopja a héját, amíg meg nem szűnik, ezért létre kell hoznom egy új shell ablakot, hogy folytassam a parancssori munkát. Az általam használt shell a MySysGit GITBash héja.
Találtam egy Redcar.bat fájlt, amelynek célja, hogy a Redcar-ot parancsikonként indítsa el, de feltételezem, de nem akarom, hogy az extra parancssori ablak megnyíljon, amikor elindítom a BAT fájlt.
Hogyan futtathatom a BAT-t anélkül, hogy látnám a kérést?
Van-e megoldás Jake lopakodó gyors vágyára?
A válaszok
Az Afrazier SuperUser közreműködője rossz és jó hírek kombinációjával válaszol:
Nem lehet - egy kötegelt fájl végrehajtása a beépített parancssorral nyitva marad, amíg a kötegfájl kilép.
Amit te tud tegyen lépéseket annak érdekében, hogy a kötegfájl a lehető leggyorsabban kilépjen. Ha egyáltalán lehetséges, módosítsa a kötegfájlt, hogy bármilyen programot futtasson a
Rajt
parancs. Alapértelmezés szerint,Rajt
azonnal visszatér, anélkül, hogy a program kilépne, így a kötegfájl továbbra is fut, és feltehetően azonnal kilép. A páros fájl módosításával párhuzamosan minimalizálhatja a kötegfájl futtatását, és csak a tálcán fog megjelenni, anélkül, hogy egy ablakot látna a képernyőn.Ennek egyik figyelmeztetése, hogy ha egy konzol-módú programot futtat, amelyet sok script tolmács, a kötegelt fájl várakozásra vár, amíg a program kilép és a
Rajt
egy új konzolablakot fog megtenni. Ebben az esetben a konzol alapú helyett futtassa a tolmács Windows-alapú verzióját - nemRajt
szükséges. Perl számára futottálwperl.exe
ahelyettperl.exe
. Python számára ezpythonw.exe
ahelyettpython.exe
. A régi win32 Ruby disztribúció, amit letöltöttemrubyw.exe
, ami ugyanezt tenné.Végső lehetőség, hogy egy harmadik fél eszközt használjon a parancssor elrejtéséhez egy rejtett ablakkal. Hallottam ilyen dolgokról, de soha nem volt számomra használatuk, ezért nem tudok semmit, hogy pontosan rámutassak.
Az olvasók egy másik SuperUser szálra is rámutattak, amely rávilágít arra, hogyan használhatja a Visual Basic Script-et, hogy túlmutassa a láthatóság minimalizálását, és hogy a CMD parancssor azonnal elrejtse. Ebben a szálban Harry MC elmagyarázza:
1. megoldás:
Mentse el ezt a szövegrészt fájlként
invisible.vbs
:CreateObject („Wscript.Shell”). Futtatás “” ”& WScript.Arguments (0) &„ ”” ”, 0, Hamis
Bármely program vagy kötegelt fájl láthatatlan futtatásához használja ezt:
wscript.exe “C: Bárhol is invisible.vbs” „C: más hely” MyBatchFile.bat ”
Ahhoz, hogy továbbadhassuk / továbbítsuk, az argumentumok listája csak két idézőjelet használ
CreateObject („Wscript.Shell”). Futtatás “” & WScript.Arguments (0) & „”, 0, False
pl .: Invisible.vbs “Kill.vbs ME.exe”
2. megoldás:
Használjon parancssori eszközt a folyamat csendes elindításához: Csendes.
A fenti megoldások bármelyikét alkalmazva, a VBS és a harmadik féltől származó eszközök használatával, a legkényelmesebb szinten, minimálisan csökkenti a CMD ablak láthatóságát, vagy közvetlenül eltávolítja azt.
Van valami, amit hozzá kell adni a magyarázathoz? Kikapcsolja a megjegyzéseket. Szeretne további válaszokat olvasni más tech-savvy Stack Exchange felhasználóktól? Nézze meg a teljes beszélgetés szálát itt.