Domovská » jak » Mohu spustit dávkový soubor Windows bez viditelného příkazového řádku?

    Mohu spustit dávkový soubor Windows bez viditelného příkazového řádku?

    Dávkové soubory jsou užitečné způsoby, jak spustit řadu příkazů v systému Windows, ale existuje tak, že je spouštějí neviditelně na pozadí? Přečtěte si o tom, jak zjistit, jak.

    Dnešní zasedání Otázky a odpovědi nás přichází s laskavým svolením SuperUser - podřízené rozdělení Stack Exchange, které je založeno na komunitě prostřednictvím skupin webových stránek.

    Otázka

    Čtecí zařízení SuperUser Jake chce neviditelně spustit soubor BAT, píše:

    Nainstaloval jsem rubínový klenot zvaný Redcar, který je spuštěn z příkazové řádky. Když běží, ukradne shell, dokud se nezastaví, takže musím vytvořit nové okno skořepiny a pokračovat v práci s příkazovou řádkou. Skořápka, kterou používám, je shell GITBash z MySysGit.

    Našel jsem soubor Redcar.bat, který má spustit Redcar jako zkratku, předpokládám, ale nechci, aby se otevřelo okno extra příkazového řádku při každém spuštění souboru BAT.

    Jak mohu spustit BAT bez zobrazení výzvy?

    Existuje řešení pro tajnou touhu Jakeho?

    Odpovědi

    Contributor SuperUser Afrazier reaguje kombinací špatné a dobré zprávy:

    Nemůžete - spuštění dávkového souboru s vestavěným příkazem Command Prompt zůstane otevřené okno, dokud dávkový soubor nevyjde.

    Co vy umět proveďte kroky, abyste se ujistili, že dávkový soubor se ukončí co nejrychleji. Pokud je to vůbec možné, upravte dávkový soubor a spusťte libovolný program s Start příkaz. Ve výchozím stavu, Start vrátí se okamžitě bez čekání na ukončení programu, takže dávkový soubor bude i nadále běžet a pravděpodobně okamžitě opustit. Pár, který s úpravou zástupce pro spuštění dávkového souboru minimalizoval a uvidíte pouze na hlavním panelu blesk bez vidění okna na obrazovce.

    Jedna upozornění je, že pokud používáte konzolový režim, což je mnoho interpretů skriptů, dávkový soubor bude čekat na ukončení programu a použití Start vytvoří nové okno konzoly. Potřebujete-li v tomto případě spustit verzi tlumočníka na bázi Windows namísto konzoly založené - ne Start nezbytné. Pro Perl bys běžel wperl.exe namísto perl.exe. Pro Pythona to je pythonw.exe namísto python.exe. Stará distribuce win32 Ruby, kterou jsem si stáhli, má rubyw.exe, což by mělo dělat totéž.

    Poslední možností je použít nástroj třetí strany pro spuštění příkazového řádku se skrytým oknem. Slyšela jsem o takových věcech, ale nikdy jsem pro ně neměla užitek, takže o tom nic nevím, abych vás poukázal.

    Čtenáři jej také ukázali na další podproces SuperUser, který zdůrazňuje, jak můžete používat skript jazyka Visual Basic, který překračuje minimalizaci viditelnosti a úplně skryje výzvu CMD. V tomto vláknu vysvětluje Harry MC:

    Řešení 1:

    Uložit tento řádek textu jako soubor invisible.vbs:

    CreateObject ("Wscript.Shell") Spusťte "" "& WScript.Arguments (0) &" "", 0, False

    Chcete-li spustit libovolný program nebo dávkový soubor neviditelně, použijte jej takto:

    wscript.exe "C: \ Kdekoli \ invisible.vbs" "C: \ Některé jiné místo \ MyBatchFile.bat"

    Chcete-li také předat / předat seznam argumentů, použijte pouze dvě uvozovky

    CreateObject ("Wscript.Shell") Spusťte "" & WScript.Arguments (0) & "", 0, False

    např .: Invisible.vbs "Kill.vbs ME.exe"

    Řešení 2:

    Použijte nástroj příkazového řádku k tichému spuštění procesu: Tichý.

    Použití některého z výše uvedených řešení, založené na vaší úrovni komfortu pomocí VBS a nástrojů třetích stran, nebo ne, bude minimálně snížit viditelnost okna CMD nebo zcela odstranit.


    Musíte něco přidat k vysvětlení? Vypadněte v komentářích. Chcete se dozvědět více odpovědí od ostatních uživatelů technologie Stack Exchange? Podívejte se na celý diskusní příspěvek zde.