Как тихо запускать пакетные файлы в Windows 10

При работе на компьютере часто возникает необходимость повтора одних и тех же DOS-команд для осуществления периодически исполняемых действий, построения сложной и многоуровневой последовательности исполняемых команд или приложений, автоматизации работы с приложениями и файлами с участием или в отсутствие пользователя. В операционной системе есть возможность записать несколько команд в bat-файле. При этом, просто запуская данный командный файл (часто его называют скрипт, или просто «батник»), можно осуществлять выполнение прописанных команд, а прописав его в событиях планировщика Windows, можно автоматизировать этот процесс.

Особенностью файлов данного типа является отсутствие внутри какого-либо кода — имеется только тактовая информация, которую считывает и исполняет командный DOS-процессор, совместимый практически со всеми версиями операционной системы Windows. Одним из ярких примеров является файл autoexec.bat, который необходим для запуска этой ОС, так как именно он осуществляет ее настройки в ходе запуска.

Основные возможности командных файлов

Команды, которые содержит bat-файл, по функционалу можно условно разделить на несколько групп:

Выполнение командных файлов

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

При нахождении командного файла в другом каталоге необходимо кроме полного имени этого файла прописать полный путь до каталога его хранения. Расширение файла также можно не прописывать. Например, текущий каталог d:photowork, а командный файл vera.bat, который нужно выполнить с параметрами resize.doc и /p, находится в каталоге d:photohome. Тогда для того, чтобы осуществился запуск нашего файла, нужно прописать команду d:photohomevera resize.doc /p или команду ..homevera resize.doc /p.

Прерывание работы

Исполняемые после запуска команды bat-файлов можно прервать комбинациями кнопок <ctrl>+<break> и <ctrl>+<c>. На дисплее появится запрос на прерывание выполнения командного файла с запросом, ожидающим ввода Yes или No. Если ввести Y, то выполнение прервется, а оставшийся список команд bat-файла будет проигнорирован. Если введете символ N, то выполнение продолжится со следующей команды из списка.</c></ctrl></break></ctrl>

Вызов другого командного файла

Bat-файлы могут содержать в себе ссылки на исполнение других скриптов. Если просто прописать в теле скрипта bat-файл, команды после него уже исполняться не будут, так как управление передается на другой батник и будут выполнены команды уже из него. Если требуется возврат после запуска внутреннего файла, то его можно вызвать командой CALL. Формат команды выглядит так: CALL имя-бат-файла [параметры запуска].

Параметрами, которые передаются вызываемому командному файлу (файлам), обычно являются символы %1 — %9. Когда команды bat-файлов все последовательно будут пройдены, продолжится выполнение исходного скрипта со следующей строки.

Пошаговое выполнение

Бывают случаи, когда команды bat-файлов нужно выполнить пошагово (с остановкой после каждой строчки). Наиболее часто такой режим требуется при отладке или тестировании скриптов. Написание команды выглядит так: COMMAND /y/c имя _скрипта [параметры].

При выполнении на каждую команду будет выдаваться запрос Y или N. Если требуется выполнение команды — жмем клавишу Enter или Y. Если нужно пропустить команду — жмем ESC или N.

Отключение и включение вывода команд на экран

Когда запускается bat-файл, команды построчно перед выполнением отображаются на экране и после этого выполняются. Иногда это вызывает неудобство, так как при большом батнике команды длинным списком пробегают перед пользователем на экране, а иногда требуется их показ, например, для диалога или отладки. Чтобы bat-файл команды выводил на дисплей, применяется команда ECHO ON. Для отключения этого режима нужно ввести ECHO с параметром OFF. При этом все исполняемые далее команды показываться на экране уже не будут.

Для отключения вывода только какой-либо одной строки батника на экран можно использовать в самом начале этой строки символ @. Чаще всего этот символ можно встретить в паре с командой @ECHO OFF для исключения вывода ее на дисплей монитора. Такой режим часто используют злоумышленники, создавая на основе bat-файлов вирусы или доставляя мелкие и крупные неприятности пользователям компьютеров.

Сообщения при исполнении команд

Если после команды ECHO будут расположены символы, отличные от ON или OFF, то они будут выводиться на экран в любом режиме. Если ECHO будет без параметров, то она выдает на экран состояние режима отображения исполняемых команд — включен или выключен.

При желании можно воспроизвести даже звуковой сигнал (писк) компьютера, используя bat-файл. Команды, примеры которых приведены далее, основаны на операторе ECHO с добавлением специальных символов.

Для воспроизведения звукового сигнала нужно вывести стандартный символ с кодом 7. Сделать это можно, нажав клавишу <alt> и «7» на цифровой клавиатуре (с надписью home).</alt>

Для того чтобы повысить удобочитаемость сообщений можно применить команду ECHO с параметром «.» (она ставится сразу за командой без пробела) или специальным символом с кодом 255. На экране это будет выглядеть как пустая строчка.

Команду ECHO можно использовать для вывода сообщений в отдельный файл. Суть ее состоит в перенаправлении вывода сообщений на запись в файл, а не на экран монитора. Для сохранения логов, анкетирования, записи событий можно использовать пакетные файлы bat. Команды вывода имеют следующий формат:

— ECHO-сообщение >> имя файла — команда добавляет строчку в конец существующего файла. Если такого файла в данной директории нет, то создается новый файл.

— ECHO-сообщение > имя файла — этой командой создается новый файл, и в него записывается текущая строчка. В случае наличия такого файла в текущей директории, содержимое его будет удалено и записана команда или ее результат.

Использование комментариев

Для удобства редактирования скриптов используется команда REM. Все находящиеся после нее команды bat-файлов Windows игнорирует при исполнении. Их можно увидеть при редактировании и при пошаговом режиме. Во всех других случаях комментарии на экран выводиться не будут.

Команда задержки в bat-файле

Иногда во время выполнения батника возникает необходимость временно остановить исполнение команд, например, для ожидания реакции пользователя, для увеличения времени на прочтение длинного сообщения, для вставки диска, подтверждения присутствия пользователя или для отладки пакетного файла. Команда задержки в bat-файле пишется как PAUSE без параметров. При этом на дисплее отобразится сообщение типа «Нажмите любую клавишу для продолжения», и выполнение скрипта будет приостановлено до нажатия кнопки клавиатуры. Если будет нажата комбинация <ctrl>+<break> или <ctrl>+<c>, то система воспримет это как завершение работы исполняемого файла и выдаст запрос на подтверждение завершения его работы: «Прервать выполнение командного файла? (Y/N)». Если нажать клавишу Y, то произойдет прерывание работы скрипта в этом месте и все оставшиеся невыполненные команды будут проигнорированы. При нажатии N выполнение будет продолжаться со следующей команды. При паузе нажатие любых других буквенно-цифровых клавиш, а также «Пробел» и «Ввод» выполнение исполняемого файла будет продолжаться со следующей команды.</c></ctrl></break></ctrl>

Выполнение команды для списка файлов

Для последовательного исполнения нескольких файлов из списка, находящихся в одной директории, также можно использовать bat-файл. Команды «запуск программы по названию» и «запуск программы по расширению файла» часто могут помочь с автоматизацией обработки документов, например сортировка вложений почты. Отличаются они параметрами для команды FOR. Формат написания ее приведен ниже:

— FOR %x IN (список файлов) DO команда, где:

— х — любой символ, за исключением цифр от 0 до 9;

— список — разделенные пробелами имена файлов или название одного файла; при этом можно использовать спецсимволы «?» и «*» для замены от одного до нескольких знаков в названии файлов;

— команда — любая DOS-команда или программа, кроме FOR; если есть необходимость использования FOR, то вместо %x нужно указать %%x.

При использовании этой команды для написания bat-файлов нужно учитывать, что имена в программах формата DOS имеют ограничение по длине названия. Для того чтобы произвести переключение команды FOR на работу с длинными именами файлов, нужно не забыть перед ней запустить команду LFNFOR ON для включения режима работы с длинными именами и LFNFOR OFF для его отключения и возврата к стандартной длине файлов.

Многие функции с программами, такие как сравнение файлов с определенными типами расширений, находящихся в одной директории, с файлами тех же типов из другой директории, копирование всех файлов текущего каталога в другой, последовательное исполнение файлов с расширениями определенного типа и названиями, начинающимися с цифр, можно осуществить с помощью всего лишь одной вписанной в bat-файл команды. Запуск программы можно комбинировать с запросами пользователя, что способствует повышению удобства работы с данными.

Переходы в bat-файлах

Команда перехода имеет написание GOTO с названием метки через пробел. Если параметра нет или название метки в командном файле не обнаружено, то работа скрипта на этой команде прекращается. Пример:

GOTO zzz

:zzz

REM (запускаются требуемые команды).

В этом примере последовательное исполнение командного файла, дойдя до GOTO zzz, переходит на метку :zzz и продолжается с REM, игнорируя все, что находится между командой перехода и указанной меткой.

Использование условий при работе с bat-файлами

Bat-файл может исполнять или не исполнять команды в зависимости от различных условий, если в нем применяется проверка наступления события IF. Формат этой команды выглядит как «IF условие команда».

Условие представляет собой различные варианты выражений:

— ERRORLEVEL число — в том случае, когда предыдущая выполняемая программа закончилась с кодом завершения, равным указанному числовому значению или больше него, условие будет истинным.

— СТРОКА 1 == СТРОКА 2 — в случае полного совпадения строк условие становится истинным. Вместо строк можно подставить символы %0 — %9, тогда будут сравниваться параметры командного файла.

— EXIST — имя файла — если указанный файл существует, то условие истинное.

— NOT — условие — если указанное условие ложное, то на выходе команды получим истинное значение.

Применяемые команды в bat-файлах

Если нажать кнопку «Пуск» и запустить командную строку (cmd), то можно посмотреть все вставляемые в bat-файл команды. CMD-режим можно использовать как средство для отладки, как помощника, программу для получения сведений о командах. Для этого просто можно набрать HELP. При этом выдается список команд с краткими описаниями к ним. Для получения более детальной информации можно ввести HELP с названием нужной команды.

Использование bat-файлов при резервном копировании данных

Командные файлы сильно упрощают жизнь системным администраторам при осуществлении повседневной работы. Наиболее распространенной сферой их применения являются резервное копирование, создание, удаление, переименование и многое другое. Все это основано на использовании команды bat-файла COPY. К примеру, можно создать программу, которая делает архивные копии документов из выбранной папки с пользовательскими данными определенных форматов, исключив, допустим, медиафайлы большого объема, обеспечив резервирование в папке с именем пользователя и текущей датой, и назвать ее «Команда_копирования_файлов.bat». После этого необходимо обеспечить ее запуск в определенное время с помощью встроенного планировщика или силами самой программы и тем самым обеспечить сохранность данных пользователя.

Пакетные файлы (.BAT) и файлы командного сценария Windows NT (.CMD) запускаются в окне консоли при двойном щелчке. Это означает, что окно командной строки будет отображаться до тех пор, пока не завершится выполнение файла .BAT или .CMD.

kak-zapuskat-fajly-bat-nezametno-bez-otobrazhenija_1.png

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

Встроенный планировщик задач в Windows способен запускать программы в скрытом режиме. Если вы не хотите переходить через маршрут планировщика заданий, ознакомьтесь с параметрами, описанными в этой статье.

  1. Запустите пакетный или CMD-файл в режиме свернутого окна
  2. Запустить пакетный или CMD-файл скрытым (невидимый режим) через Windows Script
  3. Запустите скрытый пакетный или CMD-файл (невидимый режим) с помощью утилиты NirCmd

Запуск файлов .BAT или .CMD в свернутом режиме

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

  1. Создайте ярлык для файла .BAT или .CMD. Для этого щелкните файл правой кнопкой мыши, выберите «Отправить на рабочий стол» (создать ярлык).
  2. Щелкните правой кнопкой мыши по ярлыку и выберите «Свойства».
  3. В раскрывающемся меню «Выполнить» выберите «Свернуть
  4. Нажмите ОК
  5. Дважды щелкните ярлык, чтобы запустить командный файл в свернутом состоянии окна.

Запуск скрытых файлов .BAT или .CMD (невидимый режим) с помощью скрипта

Метод запуска Windows Script Host позволяет запускать программу или сценарий в невидимом режиме. Вот пример кода сценария Windows, который запускает командный файл с именем syncfiles.bat невидимо.

Ссылка: метод запуска. Установка параметра intWindowStyle в 0 скрывает окно.

Допустим, у нас есть файл с именем syncfiles.bat в C:Batch Files каталог. Давайте запустим его в скрытом режиме, используя Windows Scripting.

  1. Скопируйте следующие строки в Блокнот.
    Set WshShell = CreateObject("WScript.Shell") WshShell.Run chr(34) & "C:Batch Filessyncfiles.bat" & Chr(34), 0 Set WshShell = Nothing

    Заметка: Замените имя / путь пакетного файла соответственно в сценарии в соответствии с вашими требованиями.

  2. Сохраните файл с расширением .VBS, скажем launch_bat.vbs
  3. Отредактируйте соответственно имя и путь к файлу .BAT и сохраните файл.
  4. Дважды щелкните, чтобы запустить файл launch_bat.vbs, который, в свою очередь, запускает командный файл syncfiles.bat невидимо.

СВЯЗАННЫЙ: Как автоматически поднять пакетный файл, чтобы запустить его от имени администратора? и VBScripts и повышение прав UAC (запуск от имени администратора)

Запуск скрытых файлов .BAT или .CMD (невидимый режим) с помощью NirCmd

NirCmd — это многофункциональная утилита автоматизации командной строки от стороннего производителя Nirsoft. В прошлом мы неоднократно освещали NirCmd на нашем сайте.

Мы можем использовать NirCmd для запуска программы, скрипта или командного файла в скрытом режиме.

Загрузите NirCmd и распакуйте файл в каталог Windows.

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

nircmd exec hide [path to batch file]

Пример:

nircmd exec hide "c:batch filessyncfiles.bat"

kak-zapuskat-fajly-bat-nezametno-bez-otobrazhenija_2_1.png

Если вам нужно запустить пакетный файл с повышенными правами (от имени администратора), используйте следующую команду:

nircmd elevatecmd exec hide c:batch filessyncfiles.bat

(Справочник по командам NirCmd — exec)

Это оно! Если вам известен какой-либо другой способ запуска пакетного или CMD-файла в скрытом режиме, сообщите нам об этом.

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

Содержание

Если у вас есть простой пакетный файл, который вы хотите запустить, вы можете создать другой пакетный файл и ввести команду, как показано ниже

 START/MIN CMD.EXE/C mysecondbatchfile.bat 

Есть два способа выполнить это.

  • Запустите его из командной строки.
  • Создайте ярлык на рабочем столе и наведите его на файл bat. Обязательно измените свойства ярлыка на Начать сворачиваться .

Windows имеет множество функций, которые не используются. Планировщик заданий является одним из них. Эта функция позволяет запускать задачи в фоновом режиме, периодически или каждый день. Вы можете легко запланировать запуск командного файла автоматически, используя запланированную задачу с опциями, доступными из коробки.

Вот процедура, чтобы использовать это.

  • Введите «Task Scheduler» в поле Cortana, и вы должны увидеть приложение в списке. Вы также можете ввести «taskschd.msc» в командной строке, чтобы открыть его.
  • На последней панели справа найдите параметр, который гласит Создать базовое задание. Нажмите на него, чтобы открыть.
  • Это запускает мастера, который спросит вас
    • Наименование задачи с описанием
    • Когда вы хотите начать задание? Вы можете выбрать между Ежедневно, Еженедельно, Ежемесячно, OneTime, Когда компьютер запускается и так далее.
    • Далее выберите программу, и она предложит выбрать программу или сценарий, добавить аргументы, подробно начать и так далее.
  • Используя это, вы можете добавить все, что понадобится файлу bat. В конце выберите открытое окно свойств для дальнейшей настройки.imge_10622.png
  • В окне свойств вы можете выбрать запуск программы, даже если пользователь вышел из системы, чтобы убедиться, что ваша программа работает круглосуточно. Обязательно выберите Скрытый.
  • Добавьте разрешение привилегий администратора, установив флажок « Запуск с самыми высокими привилегиями ». Нажмите OK, когда закончите,
  • Чтобы проверить, задача работает именно так, как вам нужно, щелкните правой кнопкой мыши и выберите «Выполнить».

imge_10626.png

1] Скрытый старт или HStart

imge_10630.png

Это легкая утилита командной строки, которая позволяет запускать консольные приложения и командные файлы без каких-либо окон в фоновом режиме. Он может даже обрабатывать повышение привилегий UAC, а также выполнять несколько команд параллельно или синхронно. Программа предлагает пользовательский интерфейс, который позволяет легко устанавливать вещи.

  • Перетащите пакетный файл в интерфейс.
  • Выберите параметры, в том числе скрытие окон консоли, UAC и т. Д.
  • Вы также можете проверить это, используя тестовый режим.
  • Вы также можете добавить параметры командной строки, если это необходимо.
  • Непосредственно созданный ярлык и автозапуск записи из интерфейса

Вы можете скачать здесь.

2] SilentCMD

Если вы знакомы с командной строкой, то есть набираете и используете командную строку, SilentCMD предлагает множество функций и выполняет нашу работу. Вы можете ввести SilentCMD [путь к файлу .bat] [аргументы], и он спокойно выполнит свою работу. Кроме того, вы можете войти в вывод и ошибки в текстовом файле.

 SilentCMD [BatchFile [BatchArguments]] [Параметры] Опции:/LOG: файл :: состояние вывода в файл LOG (перезаписать существующий журнал)/LOG +: файл :: статус вывода в файл LOG (добавить в существующий журнал)/DELAY: секунд :: задержать выполнение пакетного файла на х секунд 

Вы можете скачать его с Github.

Исполняемые файлы, вероятно, являются лучшим способом запуска командных файлов вместе с возможностью скрыть ваш скрипт от всех остальных. Существует много вариантов создания исполняемого файла из пакетного скрипта, а создание EXE-файла очень просто. Однако, если ваш антивирус его ловит, обязательно отметьте его как безопасный, поскольку вы используете его только для личного использования.

Проверьте наши подробные сообщения на следующие темы:

  • Как преобразовать BAT в EXE-файл
  • Вы можете создавать сценарии пакетных программ и компилировать их в файл .exe с помощью Batch Compiler.
  • Конвертировать VBS в EXE с помощью онлайн-инструмента или программного обеспечения для конвертации VBScript.

Кстати, Slimm Bat To Exe Converter предлагает три типа режимов: экспресс, без окон и пользовательский. Вы можете скачать его с Softpedia.

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

Используемые источники:

  • https://autogear.ru/article/239/600/komandyi-bat-faylov-windows/
  • https://komputer03.ru/kak-zapuskat-fajly-bat-nezametno-bez-otobrazhenija
  • https://techarks.ru/windows/cmd/kak-tiho-zapuskat-paketnye-fajly-v-windows-10/

Рейтинг автора
5
Подборку подготовил
Андрей Ульянов
Наш эксперт
Написано статей
168
Ссылка на основную публикацию
Похожие публикации