bat файл в скрытом режиме

Иногда есть необходимость запустить файл bat в невидимом режиме, спрятать, скрыть окно bat. Например если файл выполняется через планировщик. А может быть там написано много команд и долго выполняется, при этом мелькает у Вас перед глазами. Примеров, для чего нужно скрыть окно bat файла можно привести множество. Так что если Вас заинтересовало, как скрыть окно cmd или как скрытно запустить программу, читайте внимательно.

Предлагаю ознакомиться с предложениями моих партнёров

1. С помощью скрипта vbs. Вот таким скриптом можно скрытно запускать программы, bat файлы, другие файлы.

Для тех, кто не в курсе, просто скопируйте текст в блокнот, поставте свои пути к приложению и имя приложения, сохраните под любым названием — но с расширением vbs, (например — скрываем окно start.vbs)

Пример: скрытно запускаем батник qwerty.bat с диска С

Можно в скрытом режиме запускать не только *.bat но и другие файлы. Например, Вы желаете запустить mp3 без окна проигрывателя, при условии использования Windows Media Player

Если у Вас mp3 привязан к другому проигрывателю, то добавьте в код wmplayer.exe

2. Утилита cmdow ( саму утилиту поместить в C:windowssystem32 )

Для скрытия консольного окна в пакетном файле должна быть следующая строка:

Если строка будет первой, то окно мигнет на долю секунды и будет сразу скрыто.

Если написать в середине, то окно будет скрыто позже, после обработки команд предшествующих cmdow @ /HID.

В статье описываются различные способы того, как спрятать окно cmd во время исполнения batch файла.

Батники, они же batch файлы, бывают очень полезны для запуска целого пакета команд. Но, думаю, многие задаются вопросом, как сделать так, чтобы окно консоли при этом не появлялось на мониторе. Основной упор я сделаю на встроенные возможности системы, упомяну вскользь программы сторонних разработчиков. Попутно мы решим некоторые другие задачи, например, добавив отдельный для батника ярлык.

Как миновать защиту UAC? Обратитесь к статье Как обойти UAC в Windows

Как спрятать окно cmd. Можно ли это сделать средствами самого батника?

Нет. Работа кода производится в среде консоли, а значит окно будет отображаться. С этим нужно смириться: окно будет открытым до тех пор, пока исполняется код. Всё, что вы можете сделать, это предпринять некоторые шаги, дабы окно появлялось на минимальный отрезок времени. В принципе это полезно: работу кода мы можем наблюдать воочию. Но если хочется скрыть окно консоли, для этого придётся использовать сторонние средства: других разработчиков или возможности самой Windows. С неё и начнём.

Запустить batch файл незаметно. Только Windows.

В самом файле “безумству кода” вы пойте песню сами. Я же предложу оптимизировать его содержание для максимально тихой работы. Здесь есть важный момент: чем короче сам код, тем больше вероятность того, что окно консоли появится на короткое время. Если объём большой или прописывается сразу несколько команд, окно может привлечь внимание.

Для примера возьму код скрипта, который позволяет немного изменить системную информацию о компьютере (конкретно, характеристики процессора в Свойствах системы ). Делается это на время сеанса Windows: после перезагрузки всё станет на свои места.

Вобщем, имеем следующий код батника:

Обратите внимание на характеристики процессора . Он и будет отвечать за изменение системной информации. Присваиваем файлу имя spec . bat . Также обратите внимание, я буду использовать только латинские символы в именах файлов и избегать в путях к их месторасположению кириллицы, дабы дорожка к скрипту читались системой правильно. Потому и положу созданный бат-файл в системную директорию – прямо в диск С: .

Однако его запуск сопровождается:

  • появлением окна консоли cmd
  • появлением окна UAC с подтверждением с проделываемыми изменениями (задача, как видите, усложнилась сама по себе, ибо меняется системная информация)

перед исполнением батника появляется окно UAC

От первого окошка я предлагаю вам избавиться с помощью следующего скрипта, оформленного уже в очередной, vbs-файл . А вот и к нему скрипт (смотрите – мой путь к файлу C:spec.bat ):

Назову любым именем с расширением .vbs . Теперь работа батника по нажатии на vbs -ник сопровождается лишь появлением окна Контроля учётных записей : дело в том, что изменения, проделываемые батником касаются реестра, а система логично не пропускает это бесконтрольно. Как запускать программу без UAC – это тема отдельной статьи:

Однако мы немного отвлечёмся от темы статьи и закончим начатое, создав для файла сокрытия консоли (vbs-файла) специальный ярлык. В поле Расположения объекта укажем путь в формате:

Смотрите:

Ярлык готов (можете сменить его рисунок через Свойства ярлыка). Его можно закинуть на выбор в папку Автозагрузки, поместить в Планировщик Windows или запускать двойным щелчком мыши. Окна консоли не будет.

Как спрятать окно cmd? Специальные программы.

Их немало, они легковесны и просты в использовании. Минус – их нужно скачивать, и некоторые устанавливать. Приведу самые популярные из них:

  • Hidden Start (HStart)

Утилита отечественного производителя. Нужно покупать, стоимости не знаю. Однако с её помощью можно скрыть окно раз и навсегда, и не важно, требуется ли подтверждение UAC или нет – его тоже можно скрыть:

Для 32-х и 64-х битных версий. Установки не требует, поставляется в виде исполнительного файла, который при запуске (от имени админа) сразу просится в корневой каталог Windows. Согласимся, и она теперь с нами:

Утилита много чего умеет, в том числе менять уровень звука, открывать лотки привода и т.д. Для нашего случая, чтобы спрятать окно cmd , можно было бы просто ввести команду в виде:

От окна UAC не избавились (elevatecmd exec и есть часть команды с запросом на UAC), но нам и не обещалось. И постоянно прописывать в консоли полный путь к файлу неудобно, потому сразу создадим ярлык:

Как спрятать окно cmd: batch превратился в exe.

Тоже вариант. Это уже музыка высших сфер. Кому эта утилита неизвестна, знакомьтесь – пригодится: Bat To Exe Converter . Как вы поняли по названию, превращает батник в исполнительный файл с расширением .exe. Качаем, устанавливаем, пользуемся:

Успехов.

Е сли вам уже доводилось иметь дело со скриптами CMD или BAT, то наверняка вы заметили в их работе одну особенность: в процессе исполнения скрипта на экране компьютера появляется чёрное окошко командной строки. В этом нет ничего необычного, просто иногда вид этого чёрного прямоугольника действуют раздражающе.

Вы можете скрыть вывод выполняемых в консоли команд, добавив в начало файла CMD или BAT строчку @echo off, но чтобы сделать невидимым окно самой командной строки, потребуется нечто иное.

Решение очень простое. Чтобы скрыть исполнение CMD- или BAT-файла, мы прибегнем к помощи другого скрипта, написанного на языке Visual Basic Script.

Откройте Блокнот, Notepad++ или другой текстовый редактор, скопируйте и вставьте в него следующий код:

В данном примере путь к файлу командной строки выглядит как C:script.cmd, у вас же он может быть другим. Сохраните файл, дав ему произвольное имя и обязательное расширение VBS. Обратите внимание — кавычки в коде должны быть прямыми, иначе при запуске скрипта получите ошибку.

Когда вам нужно будет выполнить файл командной строки, запустите VBS-скрипт, а он в свою очередь запустит ваш «батник», который выполнится в скрытом режиме. Столь раздражающего вас чёрного окна командной строки вы больше не увидите.

Наверное, кто-то из наших читателей спросит: а для чего все эти сложности? Неужели то, что делает файл CMD, не может сделать VBS? Может, просто язык Visual Basic Script знают весьма немногие, а с командной строкой более или менее хорошо знакомы все, кто считает себя продвинутым пользователем.

Оцените статью