Содержание
- 1 Основные возможности командных файлов
- 2 Выполнение командных файлов
- 3 Прерывание работы
- 4 Вызов другого командного файла
- 5 Пошаговое выполнение
- 6 Отключение и включение вывода команд на экран
- 7 Сообщения при исполнении команд
- 8 Использование комментариев
- 9 Команда задержки в bat-файле
- 10 Выполнение команды для списка файлов
- 11 Переходы в bat-файлах
- 12 Использование условий при работе с bat-файлами
- 13 Применяемые команды в bat-файлах
- 14 Использование bat-файлов при резервном копировании данных
- 15 Как открыть файл .BAT
- 16 Как конвертировать .BAT-файл
При работе на компьютере часто возникает необходимость повтора одних и тех же 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». После этого необходимо обеспечить ее запуск в определенное время с помощью встроенного планировщика или силами самой программы и тем самым обеспечить сохранность данных пользователя.
Использование готовых пакетных файлов является прекрасной альтернативой ручному выполнению команд в командной строке. Однако в некоторых случаях пользователи могут столкнуться с ограничениями применения скриптов форматов CMD или BAT. Обойти это ограничение можно, сконвертировав скрипт в исполняемый файл формата EXE. Полученный экзешник выполняет те задачи, что и скрипт, хотя сам процесс исполнения может отличаться.
Например, если EXE-файл выполняется в фоновом режиме, пользователь не сможет получить данные, которые при выполнении CMD-скрипта должны выводиться в графическом интерфейсе командной строки. Но как правило, с подобным явлением приходится встречаться редко, тем более, что скрипт может быть изменен таким образом, что данные будут выводится вне консоли.
Утилит, предназначенных для конвертирования «батников» существует достаточно много. Если вы опытный пользователь, имеющий представление о языке интерпретатора CMD(хотя в целом знать его необязательно), вам подойдёт утилита Bat To EXE. Если же вы собираетесь ограничиться простым конвертированием пакетного файла, воспользуйтесь портативной тулзой BAT 2 EXE.
Bat To EXE поддерживается конвертирование, создание и редактирование скриптов отдельно до 32- и 64-битных систем, добавление в исполняемый файл иконки, дополнительных сведений о версии, реализация возможности запуска EXE-файла с правами администратора, а также выполнение в фоновом (скрытом) режиме. BAT 2 EXE намного проще. По большому счету всё что умеет делать инструмент, это преобразовывать BAT- и CMD-скрипты в EXE-файлы.
После первого запуска утилита попросит указать каталог с конвертируемым скриптом и запросит разрешение на выполнение процедуры. Чтобы начать процесс конвертирования батника, ведите в консольном интерфейсе BAT 2 EXE «y» и нажмите ввод. Также потребуется указать выходной каталог для сохранения результата. Полученный экзешник будет иметь то же имя, что и скрипт.
Скачать BAT 2 EXE можно с официального сайта автора www.bat2exe.net, более мощный Bat To EXE доступен для скачивания с сайта www.f2ko.de/en/b2e.php.
Файл с расширением .BAT является файлом пакетной обработки. Это простой текстовый файл, который содержит различные команды, используемые для повторяющихся задач или для запуска групп сценариев один за другим.
Программное обеспечение всех типов использует .BAT-файлы для различных целей — например, для копирования или удаления файлов, запуска приложений и завершения процессов.
Файлы BAT также называются пакетными файлами, сценариями, пакетными программами, командами и сценариями оболочки и могут вместо этого использовать расширение .CMD.
Важный: Работа с файлами .BAT может быть очень опасна не только для ваших личных файлов, но и для важных системных файлов. Будьте осторожны перед открытием.
Как открыть файл .BAT
Несмотря на то, что расширение .BAT сразу заставляет Windows распознавать такой файл как исполняемый, .BAT-файлы по-прежнему полностью состоят из текстовых команд. Это означает, что любой текстовый редактор, например «Блокнот» (который входит во все версии Windows), может открыть файл .BAT для редактирования.
Чтобы открыть файл .BAT в Блокноте, щелкните его правой кнопкой мыши и выберите редактировать из меню. Вы можете найти более продвинутые текстовые редакторы, поддерживающие подсветку синтаксиса, полезные при редактировании .BAT-файла.
Открытие файла .BAT в текстовом редакторе отображает код, который составляет файл. Например, это текст внутри .BAT-файла, который используется для очистки буфера обмена:
cmd / c «echo off | clip»
Вот еще один пример .BAT-файла, который использует команду ping, чтобы узнать, может ли компьютер достичь маршрутизатора с помощью этого конкретного IP-адреса:
ping 192.168.1.1Пауза
Предупреждение: Опять же, проявляйте большую осторожность при открытии исполняемых файловых форматов, таких как .BAT-файлы, которые вы получили по электронной почте, загружаетесь с сайтов, с которыми вы не знакомы, или даже создали себя. Проверьте этот список исполняемых расширений файлов для других расширений файлов, чтобы избежать и почему.
Использование .BAT-файла в Windows так же просто, как двойной щелчок или двойное нажатие. Вам не нужно загружать какую-либо специальную программу или инструмент.
Чтобы использовать первый пример сверху, ввод этого текста в текстовый файл с текстовым редактором, а затем сохранение файла с расширением .BAT сделает файл исполняемым, который вы можете открыть, чтобы немедленно удалить все, что было сохранено в буфер обмена.
Второй пример, в котором используется пинг команда, проверит этот IP-адрес; Пауза команда сохраняет Командная строка окно открывается, когда процесс завершен, чтобы вы могли видеть результаты.
Заметка: Если ваш файл не является текстовым файлом, то вы, вероятно, не имеете дело с файлом .BAT. Проверьте расширение файла, чтобы убедиться, что вы не путаете .BAK или .BAR ( Возраст Империй 3 data) с файлом .BAT.
Как конвертировать .BAT-файл
Как показано, код .BAT-файла никоим образом не скрывается, что означает, что его очень легко редактировать. Поскольку определенные инструкции в файле .BAT (например, команда del) могут нанести ущерб вашим данным, преобразование BAT-файла в формат EXE, чтобы сделать его более похожим на файл приложения, может быть разумным.
Вы можете преобразовать файл .BAT в .EXE-файл, используя несколько инструментов командной строки. Вы можете прочитать, как это сделать в How-To Geek.
- Встроенный Windows IExpress tool предоставляет другой способ создания .EXE-файла из .BAT-файла; У Renegade’s Random Tech есть хорошее объяснение того, как это сделать.
- Хотя бесплатная версия — это всего лишь пробная версия, EXE для MSI Converter Pro может конвертировать полученный EXE-файл в файл MSI (пакет установщика Windows).
- Вы можете использовать бесплатный инструмент командной строки NSSM, если хотите запустить .BAT-файл в качестве службы Windows.
- PowerShell Scriptomatic может помочь вам преобразовать код в .BAT-файл в сценарий powershell.
Вместо поиска сценария .BAT to SH (bash shell script) для использования команд .BAT в таких программах, как Bourne Shell а также Korn Shell , попробуйте просто переписать сценарий с использованием языка Bash. Структура двух форматов отличается от других, поскольку файлы используются в разных операционных системах. См. Этот поток переполнения стека и этот учебник по сценарию Unix Shell для получения некоторой информации, которая может помочь вам перевести команды вручную.
Важный: Обычно вы не можете изменить расширение файла (например .BAT) на то, которое ваш компьютер распознает и ожидает, что новый переименованный файл будет использоваться. Фактическое преобразование формата файла с использованием одного из методов, описанных выше, должно иметь место в большинстве случаев. Учитывая, что .BAT-файлы — это просто текстовые файлы с расширением .BAT, вы можете переименовать его в .TXT, чтобы открыть его с помощью текстового редактора. Помните, что выполнение преобразования .BAT-to-.TXT предотвратит выполнение командным файлом своих команд.
Вместо того, чтобы вручную изменять расширение файла с .BAT на .TXT, вы также можете открыть командный файл в Блокнот для редактирования, а затем сохранить его в новый файл, выбирая в качестве расширения файла .TXT перед сохранением вместо .BAT.
Это также то, что вам нужно делать при создании нового .BAT-файла в Блокнот , но в обратном порядке: сохраните текстовый документ по умолчанию как .BAT вместо .TXT. В некоторых программах вам может потребоваться сохранить его в Все файлы тип файла, а затем добавьте расширение .BAT самостоятельно.
Дополнительную информацию см. В разделе «Получение дополнительной справки».
</strong></strong>Используемые источники:
- https://fb.ru/article/239600/komandyi-bat-faylov-windows
- https://www.white-windows.ru/bat-2-exe-i-bat-to-exe-ili-kak-sozdat-iz-bat-skripta-ispolnyaemyj-exe-fajl/
- https://ru.go-travels.com/12788-bat-file-2619796-7876550