Скрыть окно командной строки при выполнении батника

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

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

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

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

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

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

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

Если вы хоть раз просматривали внушительный список возможностей утилиты NIRCMD, то скорее всего задались вопросом – а она это может ? Да, может. Я уже упоминал эту утилиту не раз.
(Несмотря на то, что эта утилита все-таки "комбайн" или, говоря рекламным языком – все в одном, текущая ее версия занимает менее 45К ! Только за одно это хочется снять шляпу перед ее авторами. И все эти килобайты – бесплатно).
Итак, для того, что бы сделать консольное окно невидимым следует записать:

Читайте также  Решение задач с помощью фото

Вы можете передавать параметры в ваш bat/cmd файл или программу как привыкли.

Для выполнения приложения ( кстати, не только bat/cmd файлов ) без отображения консольного окна вместо execmd можно использовать другой параметр этой утилиты:

Утилита hidec.

( Домашней страницы не нашел, лучше поэтому искать поиском по ключу hidec.exe )

Ключ /w запускает приложение с ожиданием окончания его работы.

Существуют еще платные (например, Hidden Start – Hstart) и бесплатные (например, chp.exe -Create Hidden Process, cmdow) утилиты, позволяющие скрыть консольное окно. Здесь я не пытался сделать обзор и сравнительный анализ всех различных вариантов решения этой проблемы. Тем более, что для решения конкретной задачи – скрыть консольное окно для bat/cmd файлов – различия утилит, как мне кажется, не выходят за рамки личных предпочтений.

Кроме того существует возможность сделать это фактически не используя сторонних утилит.

Файл, с кодом, приведенным ниже и с расширением vbs если его выполнить непосредственно или командой CSCRIPT запустит в данном случае блокнот в скрытом окне. Открыв окно Диспетчера задач можно увидеть, что такой процесс действительно запущен.

Параметры объекта RUN можно посмотреть здесь

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

Для вопросов, обсуждений, замечаний, предложений и т. п. можете использовать раздел форума этого сайта (требуется регистрация).

Как скрыть окно cmd при запуске командного файла?

Я использую следующий код для запуска командного файла

Читайте также  Самые классные рисунки в мире карандашом

Property: CreateNoWindow
Notes: Allows you to run a command line program silently. It does not flash a console window.

Property: WindowStyle
Notes: Use this to set windows as hidden. The author has used ProcessWindowStyle.Hidden often.

В качестве примера!

false, тогда вы запускаете процесс и можете использовать:

trueзатем ОС запускает процесс, и вы должны предоставить «подсказку» к процессу через:

Однако вызываемое приложение может игнорировать этот последний запрос.

При использовании UseShellExecute =false, вы можете рассмотреть возможность перенаправления стандартного вывода / ошибки, чтобы перехватить все производимые журналы:

И есть функция, как

Хорошее покрытие страницы CreateNoWindow это наблог MSDN.

В Windows также есть ошибка, которая может вызвать диалог и поражение. CreateNoWindow если вы передаете имя пользователя / пароль. Для деталей

Ссылка на основную публикацию
Adblock detector