Početna » kako da » Mogu li pokrenuti paketnu datoteku sustava Windows bez vidljivog naredbenog retka?

    Mogu li pokrenuti paketnu datoteku sustava Windows bez vidljivog naredbenog retka?

    Batch datoteke su zgodan način za izvršavanje niza naredbi u sustavu Windows, ali postoji li ih uopće nevidljivo izvoditi u pozadini? Pročitajte kako saznati kako.

    Današnja sesija pitanja i odgovora dolazi nam ljubaznošću SuperUser-a, podjele Stack Exchangea, grupiranja web-lokacija za pitanja i odgovore u zajednici.

    Pitanje

    Čitač SuperUser Jake želi nevidljivo pokrenuti BAT datoteku, piše:

    Instalirao sam rubin "Redcar" koji se pokreće iz naredbenog retka. Kada se pokrene, krade ljusku dok se ne završi, pa moram stvoriti novi prozor ljuske za nastavak rada u naredbenom retku. Ljuska koju koristim je GITBash ljuska iz MySysGita.

    Našao sam datoteku Redcar.bat koja je namijenjena za pokretanje Redcara kao prečac, pretpostavljam, ali ne želim da se dodatni prozor naredbenog retka otvori svaki put kad pokrenem BAT datoteku.

    Kako mogu pokrenuti BAT bez da vidim prompt?

    Postoji li rješenje za Jakeovu nečujnu brzu želju?

    Odgovori

    Suradnik SuperUser Afrazier odgovara kombinacijom loših i dobrih vijesti:

    Ne možete - izvršavanje skupne datoteke s ugrađenim naredbenim retkom zadržat će otvoren prozor dok ne izađe datoteka datoteke.

    Što ti limenka Potrebno je poduzeti korake kako bi se osiguralo da naredbena datoteka izlazi što je brže moguće. Ako je ikako moguće, izmijenite batch datoteku da biste pokrenuli bilo koji program s oznakom početak naredba. Prema zadanim postavkama, početak vraća se odmah, bez čekanja da program izađe, pa će se naredbena datoteka nastaviti izvoditi i, vjerojatno, odmah izaći. Paralelno s izmjenom prečaca za pokretanje skupne datoteke minimiziran je i vidjet ćete samo da se bljeskalica trake zadataka ne pojavljuje čak ni na zaslonu.

    Jedno upozorenje je da ako pokrenete program za konzolni način rada, koji su mnogi tumači skripti, skupna datoteka čekat će da program izađe, a upotreba početak će stvoriti novi prozor konzole. Ono što trebate učiniti u ovom slučaju je pokretanje verzije tumača na Windows-u umjesto konzole-bazirane - ne početak potrebno. Za Perla, ti bi trčao wperl.exe umjesto perl.exe. Za Pythona, to je pythonw.exe umjesto python.exe. Stara win32 Ruby distribucija koju sam skinula ima rubyw.exe, koji bi trebao učiniti istu stvar.

    Konačna mogućnost je korištenje alata treće strane za pokretanje naredbenog retka sa skrivenim prozorom. Čuo sam za takve stvari, ali nikada nisam imao koristi od njih, tako da ne znam ništa o čemu bih vas posebno upućivao.

    Čitatelji su ga također usmjerili na drugu SuperUser nit koja ističe kako možete koristiti Visual Basic Script kako biste nadišli minimiziranje vidljivosti i potpuno skrivanje CMD prompta. U toj niti Harry MC objašnjava:

    Rješenje 1:

    Spremite ovaj redak teksta kao datoteku invisible.vbs:

    CreateObject (“Wscript.Shell”) Pokreni “” ”” & WScript.Arguments (0) & “” ”, 0, False

    Za pokretanje bilo kojeg programa ili batch datoteke nevidljivo, koristite ga na sljedeći način:

    wscript.exe “C: Gdje god nevidljiv.vbs” “C: Neko drugo mjesto \ t

    Da biste mogli proslijediti / proslijediti popis argumenata, upotrijebite samo dva dvostruka navodnika

    CreateObject (“Wscript.Shell”) Pokreni “” & WScript.Arguments (0) & “”, 0, False

    npr: Invisible.vbs “Kill.vbs ME.exe”

    2. rješenje:

    Koristite alat naredbenog retka da biste tiho pokrenuli proces: Tišina.

    Primjenom bilo kojeg od gore navedenih rješenja, na temelju razine udobnosti pomoću VBS-a i alata treće strane, minimalno će se smanjiti vidljivost CMD prozora ili će se izravno ukloniti.


    Imate li što dodati objašnjenju? Zvuk isključen u komentarima. Želite li pročitati više odgovora od drugih tehničkih korisnika Stack Exchangea? Pogledajte cjelokupnu temu za raspravu ovdje.