If-Koubou

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

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

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

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

Въпроса

Reader на SuperUser Джейк иска да види невидимо файл с BAT, пише:

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

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

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

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

Отговорите

Contributor на SuperUser Afrazier отговаря с комбинация от лоши и добри новини:

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

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

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

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

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

Решение 1:

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

CreateObject ("Wscript.Shell") Изпълнете "" "& WScript.Arguments (0) &" "", 0, False

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

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

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

CreateObject ("Wscript.Shell") Изпълнете "" & WScript.Arguments (0) & "", 0, False

например: Invisible.vbs "Kill.vbs ME.exe"

Решение 2:

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

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

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