Начална » как да » Мога ли да стартирам пакетния файл на Windows без видим команден ред?

    Мога ли да стартирам пакетния файл на Windows без видим команден ред?

    Пакетните файлове са удобен начин за изпълнение на серия от команди в Windows, но все пак дали да ги изпълните невидимо във фонов режим? Прочетете как да разберете как.

    Днешната сесия за въпроси и отговори идва при нас с любезното съдействие на SuperUser - подразделение на Stack Exchange, групирано от общността уеб сайтове за въпроси и отговори.

    Въпроса

    Четецът на SuperUser Джейк иска да стартира невидимо BAT файл, пише той:

    Инсталирах рубин с име Redcar, който се стартира от командния ред. Когато се стартира, тя открадва черупката, докато не приключи, така че трябва да създам нов прозорец на обвивката, за да продължа да изпълнявам командния ред. Черупката, която използвам, е черупката на GITBash от MySysGit.

    Намерих Redcar.bat файл, който е предназначен да стартира Redcar като пряк път, предполагам, но не искам допълнителният прозорец на командния ред да се отваря, когато стартирам BAT файла.

    Как да стартирам BAT, без да виждам подканата?

    Има ли решение за тайното желание на Джейк?

    Отговорите

    Сътрудникът на SuperUser Afrazier отговаря с лоши и добри новини:

    Не можете - изпълняването на команден файл с вградения команден ред ще запази прозорец отворен, докато пакетният файл излезе.

    Това, което мога направете стъпки, за да се уверите, че партидният файл излиза възможно най-бързо. Ако е възможно, модифицирайте командния файл, за да изпълните каквато и да е програма с начало команда. По подразбиране, начало връща се веднага, без да изчаква програмата да излезе, така че партидният файл ще продължи да работи и вероятно ще излезе незабавно. Успокойте го с минимизирането на модификацията на прекия път, за да стартирате партидния файл, и ще виждате само лентата на задачите да е светкавична, без дори да видите прозорец на екрана.

    Едно предупреждение за това е, че ако работите с конзолна програма, която са много интерпретатори на скриптове, пакетният файл ще изчака програмата да излезе, а използването на начало ще създаде нов прозорец на конзолата. В този случай трябва да изпълните версията на интерпретатора, базирана на Windows, вместо конзолната - начало необходимо. За Perl, ти ще бягаш wperl.exe вместо perl.exe. За Питон, това е pythonw.exe вместо python.exe. Старата версия на Win32 Ruby, която изтеглих, има rubyw.exe, което трябва да направи същото.

    Последната възможност е да използвате инструмента от трета страна, за да стартирате командния ред със скрит прозорец. Чувал съм за такива неща, но никога не съм имал полза от тях, така че не знам нищо особено, за което да ви насоча.

    Читателите също го насочиха към друга нишка на SuperUser, която подчертава как можете да използвате скрипт на Visual Basic, за да надхвърлите минимизирането на видимостта и да скриете директно CMD подсказването. В тази нишка Хари МС обяснява:

    Решение 1:

    Запазете този ред от текст като файл invisible.vbs:

    CreateObject (“Wscript.Shell”). Стартирайте “” ”” и WScript.Arguments (0) & “” ”, 0, False

    За да изпълните невидима програма или партида, използвайте я по следния начин:

    wscript.exe “C: Където invisible.vbs” “C: Някои други места \ t

    За да можете също да предавате / препредавате списък с аргументи, използвайте само две двойни кавички

    CreateObject (“Wscript.Shell”). Стартирайте “” & WScript.Arguments (0) & “”, 0, False

    напр .: Invisible.vbs “Kill.vbs ME.exe”

    Решение 2:

    Използвайте инструмент за команден ред, за да стартирате процес безшумно: Quiet.

    Използвайки някое от горните решения, на базата на вашето ниво на комфорт, като използвате VBS и инструментите на трети страни, ще намалите минималната видимост на прозореца на CMD или ще го премахнете..


    Имате ли какво да добавите към обяснението? Звукът е изключен в коментарите. Искате ли да прочетете повече отговори от други технологични потребители на Stack Exchange? Вижте пълната тема за дискусия тук.