Домашняя » как » Можно ли запустить пакетный файл Windows без видимой командной строки?

    Можно ли запустить пакетный файл Windows без видимой командной строки?

    Пакетные файлы - удобный способ выполнить серию команд в Windows, но есть ли способ их невидимого запуска в фоновом режиме? Читайте дальше, чтобы узнать, как.

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

    Вопрос

    Читатель SuperUser Джейк хочет невидимо запускать BAT-файл, он пишет:

    Я установил рубиновый драгоценный камень под названием Redcar, который запускается из командной строки. Когда он запускается, он крадет оболочку до ее завершения, поэтому мне нужно создать новое окно оболочки, чтобы продолжить работу в командной строке. Используемая мной оболочка - это оболочка GITBash от MySysGit.

    Я обнаружил, что файл Redcar.bat, предназначенный для запуска Redcar в качестве ярлыка, я полагаю, но я не хочу, чтобы дополнительное окно командной строки открывалось всякий раз, когда я запускаю файл BAT.

    Как мне просто запустить BAT, не видя подсказку?

    Есть ли решение для скрытного желания Джейка?

    Ответы

    Сотрудник SuperUser Afrazier отвечает сочетанием плохих и хороших новостей:

    Вы не можете - выполнение командного файла со встроенной командной строкой будет держать окно открытым до выхода из командного файла.

    Что ты Можно сделать это, чтобы убедиться, что пакетный файл завершается как можно быстрее. Если возможно, измените командный файл для запуска любой программы с Начните команда. По умолчанию, Начните немедленно возвращается, не дожидаясь выхода программы, поэтому пакетный файл продолжит работать и, по-видимому, немедленно завершится. Соедините это с изменением вашего ярлыка, чтобы минимизировать запуск командного файла, и вы увидите только мигание панели задач, даже не увидев окно на экране.

    Одно предостережение: если вы запускаете программу в консольном режиме, которой являются многие интерпретаторы сценариев, пакетный файл будет ожидать завершения работы программы и использует Начните появится новое окно консоли. В этом случае вам нужно запустить версию интерпретатора для Windows вместо консольной - нет Начните необходимо. Для Perl вы бы запустили wperl.exe вместо perl.exe. Для Python это pythonw.exe вместо python.exe. Старый дистрибутив win32 Ruby, который я скачал, имеет rubyw.exe, который должен делать то же самое.

    Последняя возможность - использовать сторонний инструмент для запуска командной строки со скрытым окном. Я слышал о таких вещах, но никогда не использовал их, поэтому я не знаю ничего конкретного, чтобы указать вам на.

    Читатели также указали ему на другой поток SuperUser, который подчеркивает, как вы можете использовать скрипт Visual Basic, чтобы выйти за рамки минимизации видимости и скрыть подсказку CMD. В этой теме Гарри MC объясняет:

    Решение 1:

    Сохранить эту одну строку текста как файл invisible.vbs:

    CreateObject («Wscript.Shell»). Выполнить «» »» & WScript.Arguments (0) & «» »», 0, False

    Чтобы незаметно запустить любую программу или командный файл, используйте его следующим образом:

    wscript.exe «C: \ Wherever \ invisible.vbs» «C: \ Some Other Place \ MyBatchFile.bat»

    Чтобы также иметь возможность передавать / передавать список аргументов, используйте только две двойные кавычки

    CreateObject («Wscript.Shell»). Выполнить «» & WScript.Arguments (0) & «», 0, False

    Например: Invisible.vbs «Kill.vbs ME.exe»

    Решение 2:

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

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


    Есть что добавить к объяснению? Звук выключен в комментариях. Хотите узнать больше ответов от других технически подкованных пользователей Stack Exchange? Ознакомьтесь с полным обсуждением здесь.