Создать bat файл: Как создать BAT-файл в Windows правильно

Как создать bat файл в Windows 10

ГлавнаяТекстовые редакторы

Пакетный (bat) файл – это тип файла, поддерживающий текст, имеющий расширение .bat, и включающий в себя построчные операторы для командной строки cmd.exe.

Как создать bat файл в Windows 10

Этот тип файла – полезный инструмент автоматизации однообразных файловых операций – копирования, удаления и т.д., а также запуска различных приложений и выполнения других операций в ОС.

К примеру, если необходимо выполнить DOS-команду ipconfig/flushdns, очищающую кэш распознавателя DNS, это можно сделать через запуск cmd.exe. Однако, если процедуру нужно повторить многократно, лучше сделать это через запуск предварительно созданного bat-файла.

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

  1. Щелкнуть мышью (правой) на кнопке «Пуск», и выбрать «Панель управления».

    Нажимаем мышью (правой) на кнопке «Пуск», и выбираем «Панель управления»

  2. Запустить элемент управления «Параметры проводника».

    Запускаем «Параметры проводника»

  3. В окне «Параметры проводника» перейти к закладке «Вид» и, двигая мышкой полосу прокрутки вниз, дойти до пункта «Скрывать расширения для зарегистрированных типов файлов», сняв с него отметку и нажав «ОК».

    Убираем галочку и нажимаем «ОК»

Содержание

  • Как создать bat-файл
  • Основные операторы bat-файла:
  • Длинные имена в bat-файлах
  • Запуск программ в bat-файлах с ключами
  • Копирование между папками с помощью bat-файла
  • Редактирование bat
    • Программы редактирования
    • Видео — Как создать bat файл в Windows

Как создать bat-файл

Для этого:

  1. Открыть «Блокнот», набрав в строке поиска панели задач (изображение лупы внизу слева) слово блокнот и щелкнув мышью по всплывшей пиктограмме.

    Открываем «Блокнот»

  2. Вписать в блокноте команды ipconfig /flushdns и pause.

    Вписываем в блокноте команды

    Справка! Использование оператора «pause» не позволяет DOS-экрану закрыться после исполнения bat-файла, чтобы у пользователя была возможность видеть ответ интерпретатора cmd.

  3. В окне блокнота щелкнуть мышью «Файл» – «Сохранить как».

    Выбираем «Сохранить как»

  4. В окне «Сохранить как» щелкнуть слева, куда поместить файл, написать имя создаваемого файла и указать расширение .bat (через точку) (1), выбрав в «Тип файла» – «Все файлы» (2). Затем нажать «Сохранить» (3).

    В окне «Сохранить как» нажимаем слева, куда поместить файл, пишем имя создаваемого файла и указываем расширение .bat, выбрав в «Тип файла» – «Все файлы». Затем нажимаем «Сохранить»

  5. Щелкнуть дважды мышью на сохраненном файле. В отдельных ситуациях может потребоваться запуск bat под именем администратора. Для этого щелкнуть на нем мышью (правой), и выбрать «Запуск от имени администратора».

Кликаем дважды мышью на сохраненном файле

Результат исполнения bat-файла отобразиться в DOS-окне.

Результат исполнения bat-файла

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

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

Основные операторы bat-файла:

  • ECHO: отображает текст в DOS-окне;
  • ECHO OFF: отменяет показ текста команд в DOS-окне, показывая подсказку и выполненный результат;
  • @ECHO OFF: отменяет показ текста команд и подсказок, показывая выполненный результат;
  • XCOPY: используется для копирования каталогов и файлов с добавочными параметрами;
  • START: запускает исполняемый файл .exe со своим стандартным приложением, открывает каталог;
  • FOR/IN/DO: применяется для указания файлов;
  • MKDIR: создает каталоги;
  • REM: для ввода строки комментария в программе;
  • RMDIR: для удаления каталогов;
  • DEL: для удаления файлов;
  • COPY: для копирования файлов;
  • TITLE: редактирование заголовка окна.

Применение некоторых из перечисленных команд показано на примере ниже. Необходимо отметить, что команда @echo off скрывает путь выполняемой команды, отображаемый cmd на DOS-экране.

Команда @echo off скрывает путь выполняемой команды

Запуск программ в файле bat происходит с помощью команды start и указанием имени запускаемой программы.

Запуск программ в файле bat происходит с помощью команды start

Также в файле может быть прописан полный путь до исполняемого файла.

В файле прописан полный путь до исполняемого файла

Обе эти записи для firefox работают корректно. Однако, они обе корректны только для зарегистрированных в Windows приложений. Если попробовать запустить портативную программу (например, filezilla) без прописи всего пути к запускаемому файлу, она не запустится.

Длинные имена в bat-файлах

Иногда в bat встречаются программы, не работающие с длинными именами с пробелами – обычно это некоторые старые программы для MS-DOS. В этих случаях помогает использование коротких DOS-имен без пробелов, а также кавычек.

Правила записи коротких DOS-имен (формат 8.3): задействуется шесть начальных символов имени папки, не учитывая пробелы, далее указывается ее номер по порядку через ~. Например: start C:Program FilesMozilla Firefoxfirefox.exe преобразуется в: start C:Progra~1Mozill~1firefox.exe.

Возможна ситуация, когда в одном каталоге имеются несколько папок с одинаковыми символами в названии.

В одном каталоге имеются несколько папок с одинаковыми символами в названии

Их короткие имена в этом случае должны нумероваться в соответствии с алфавитным порядком папок:

  • Mozill~1;
  • Mozill~2;
  • Mozill~3.

Однако, если Mozilla Firefox будет удален с компьютера, следующие за Mozill~1 записи работать не будут. Поэтому, короткие DOS-имена – не лучший вариант решения проблемы длинных имен. Создание имен этого типа на NTFS также бывает отключено в реестре Windows.

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

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

Однако, в некоторых случаях кавычки не работают совсем. В этом случае возможно использование команды изменения текущего рабочего каталога Chdir (CD). Запись start firefox.exe приобретает в этом случае следующий рабочий вид.

Запись start firefox.exe приобретает рабочий вид

Справка. Команда CD – пожалуй, единственное универсальное решение вопроса длинных имен в bat-файлах.

Запуск программ в bat-файлах с ключами

Программы в bat-файле можно не только запускать, но и устанавливать им дополнительные команды (ключи) запуска. Например, если запустить bat-файл с записью: start /?, он отобразит на DOS-экране список используемых с этим оператором ключей с необходимыми пояснениями.

Запуск программ в bat-файлах с ключами

Пример используемых ключей, где: — minimize – ключ для минимизации программы после ее запуска, — hide_splash – ключ для сворачивания программы в трэй.

Пример используемых ключей

Справка! Все, что относится к запускаемым файлам .exe, записывается с ними в файле bat в общей строке.

Команда создания папки выполняется в bat с помощью оператора MKDIR (MD). Если запустить приведенный в примере bat-файл, он создаст четыре вложенные папки на диске С.

Команда создания папки выполняется в bat с помощью оператора MKDIR

Следующий пример – как открыть не один, а сразу несколько каталогов на диске С.

Команда для открытия нескольких каталогов на диске С

Копирование между папками с помощью bat-файла

В приведенном ниже примере показано, как скопировать папку с диска D: на диск E. Параметр /s разрешает копирование каталогов и подкаталогов. Параметр i/ создает новый каталог, чтобы команда xcopy скопировала в него файлы.

Копирование между папками с помощью bat-файла

Базовый файл при этом как остается как на диске D, так и копируется в новое место, указанное в bat-файле.

Редактирование bat

  1. Чтобы отредактировать уже созданный файл bat, щелкнуть на нем мышью (правой), использовав пункт «Изменить».

    При помощи клика ПКМ выбираем пункт «Изменить»

  2. Файл откроется в выбранной по умолчанию для этого типа файлов программе.

    Открытие файла в выбранной по умолчанию для этого типа файлов программе

Программы редактирования

Рядовому пользователю для взаимодействия с bat-файлами, возможно, хватит функционала простого «Блокнота», но, к примеру, системному администратору нужен редактор помощнее. Работать с bat можно в любых редакторах текстов, нацеленных на взаимодействие с кодом, в частности, в «Notepad++» или «Notepad2».

Из специализированного софта можно отметить утилиту Dr.Batcher, специально разработанную для создания bat, и включающую в состав визуальный редактор, подсвечиваемый синтаксис, закладки, специальные команды и нумерацию страниц.

Видео — Как создать bat файл в Windows

Понравилась статья?
Сохраните, чтобы не потерять!

Рекомендуем похожие статьи

Как создать bat-файл в Windows? Bat-файл для запуска .exe в командной строке

Bat-файл или «батник», как его называют опытные пользователи, очень часто применяется для запуска какой-либо программы. На деле, bat-файл представляет собой текстосодержащий файл, который содержит перечень инструкций для интерпретатора операционной системы Windows.

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

Создание bat-файла для запуска программы

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

Чтобы создать bat-файл на Windows, необходимо:

  1.  Активировать программу «Блокнот». Если вы вообще не понимаете, что это за программа и как ее активировать, тогда откройте меню «Пуск» и в разделе «стандартные программы» вы его там найдете.

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

  3.  После того как bat-файл заполнен списком команд, его нужно сохранить. Для этого в основном меню «Блокнота» найдите пункт «Файл», а в нем «Сохранить как». Вам необходимо будет выбрать место для сохранения bat-файла. Обычно для этого создают отдельную папку, созданную для файлов такого типа, чтобы в дальнейшем не искать их по всей системе. Перед нажатием кнопки «Сохранить», нужно обязательно указать файлу расширение «.bat».

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

Любой созданный «батник» можно в дальнейшем редактировать. Для этого:

  •  находите нужный файл;

  •  нажимаете правым кликом мышки;

  •  находите пункт «Изменить».

В целом, bat-файл можно создать не только в «Блокноте», но и в любом другом текстовом редакторе, поддерживающем расширение «.bat». «Блокнот» просто всегда под рукой, поэтому нет смысла рассматривать другие инструменты.

Bat-файл: запуск программы

Использовать «батник» для запуска программы достаточно просто. Любую программу можно запустить при помощи простой команды «start». Однако тут есть один нюанс.

Шаблон формирования команды запуска в bat-файле такой:

start<путь к запускаемой программе>

Нюанс заключается в том, что программы, расположенные внутри операционной системы Windows, условно делятся на те, которые знакомы и которые не знакомы системе. От этого зависит способ написания инструкций в bat-файл. Например, для того чтобы активировать запуск Google Chrome можно использовать простую короткую команду в bat-файле:

start google chrome

Но можно использовать и стандартный вид команды bat-файла:

start C:\Program Files\ Google Chrome \chrome.exe

Обе команды будут отлично работать, но первую писать проще. Но так сработает не со всеми программами. Например, вы хотите запустить видеоредактор «Olive» и пишите вот такую команду:

start olive

Такая команда не сработает в bat-файле, потому что Windows не знакома с видео редактором «Olive», в этом случае команда должна обязательно выглядеть с указанием пути к программе, например вот так:

start D:\Olive \olive.exe

При написании пути к программам, да и в названиях самих программ встречаются длинные выражения, состоящие из нескольких слов с пробелами, например «Program Files», «Professional Video Editor» и тому подобное. При написании команд в bat-файле, можно создавать короткие имена длинных названий. Принцип построения коротких имен состоит из нескольких правил:

  •  нужно использовать первые 6 символов названия длинного имени;

  •  после сокращения имени нужно использовать знак «~»;

  •  после знака «~» обязательно нужно указать порядковый номер используемой папки, на тот случай, если в системе несколько похожих папок;

  •  используемое сокращение имен нужно указывать в начале bat-файла.

Например, наше условное название «Professional Video Editor» может «превратиться» в короткое «profes~1», тогда bat-файл может выглядеть вот так:

Professional Video Editor — Profes~1

Program Files — Progra~1

start C:\ Progra~1\ Profes~1

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

Допустим, у вас в системе есть две папки «Professional Video Editor» и «Professional Photo Editor».  Сокращение для обеих папок будет похожим, потому что можно использовать только первые 6 символов. Однако, чтобы обозначить ту или иную папку, нужно использовать ее местоположение: первая или вторая. В зависимости от этого сокращение будет: «Profes~1» или «Profes~2».

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

Заключение

Сегодня мы разобрали, как, используя bat-файл, можно осуществить запуск программы. Если при формировании «батника» для запуска программ, у вас возникли  вопросы, тогда вы можете воспользоваться справкой по использованию bat-файлов. Для этого введите в терминале команду «start  /?». Также еще один важный момент при создании bat-файла, о котором нужно помнить — каждый созданный файл должен обязательно заканчиваться командой «exit».

Как создать команду HELP для пользовательских файлов BAT?

Я написал небольшой скрипт для преобразования текста в верхний регистр , как показано ниже, и сохранил этот файл как .BAT расширение

 `converttoupper.bat`
 

Я хочу, чтобы пользователь попробовал команду «help», чтобы получить справку по синтаксису для использования команд, как показано ниже

 help converttoupper
 

примерно так

 # помогите преобразовать вверх
Для получения дополнительной информации о конкретной команде введите HELP имя-команды
CONVERTTOUPPER Преобразует текст в верхний регистр.
 

Обновление

У меня все в порядке, даже если я получаю что-то, как показано ниже. Я не хочу перезаписывать какие-либо команды Windows.

 помогите мне преобразоватьверхнее
  или же
  помогите мне подключить vpn
 

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

  • пакетный файл

2

Вы можете создать «фальшивую» функцию. Давайте назовем это define.cmd и поместим его в 9|findstr «:?»‘) сделать эхо %%j

Затем во все ваши пакетные файлы, для которых вы хотите, чтобы люди читали справку, добавьте строки справки, начинающиеся с :? , используя в качестве примера файл convertoupper.cmd :

 @echo off & set upper=
если "%~1" == "" выведите сообщение о неправильном использовании и вызовите define.cmd "%0"
если "%~1" == "/?" вызовите define.cmd "%0"
for /f "skip=2 delims=" %%I in ('tree "\%~1"') сделать, если не определен верхний набор "upper=%%~I"
установить "верхний=%верхний:~3%"
эхо %верхний%
перейти: eof
:? # помогите преобразовать в верхнюю часть
:? "определить %0" или "%0 /?" отобразит это содержание справки
:? Для получения дополнительной информации о конкретной команде введите HELP имя-команды
:? CONVERTTOUPPER Преобразует текст в верхний регистр. 
 

Теперь вы можете запустить определить converttoupper или converttoupper /? . Если вы запустите converttoupper без каких-либо аргументов, он также отобразит ту же справку.

14

Ниже приведен пример безопасной обработки захвата аргументов и запросов справки.

После безопасного захвата аргументов Findstr используется для проверки содержимого на наличие допустимых переключателей справки:

Set Args | %SystemRoot%\System32\Findstr.exe /bli "Args=\/? Args=-? Args=Help?" > nul && (команды Rem)

  • Set Args : позволяет передавать строку аргумента в findstr без риска сбоя из-за ядовитых символов.
  • /bli : findstr sawitches : соответствие литеральной строке в начале строки без учета регистра.
  • "Args=\/? Args=-? Args=Помощь?" : Список строк, разделенных пробелами; обрабатывается как строка совпадения a, b или c
  • > nul : Подавить вывод любого совпадения
  • && : Условный оператор; «При успешном выполнении команды»

Примечание. Завершение каждого переключателя справки с помощью ? позволяет использовать модификацию подстроки для удаления начального переключателя и пробела и прямого вызова метки с префиксом ключевого слова запроса

 @Echo off & SETLOCAL
================================================== =======================
 Метод захвата Rem -- Arg представляет собой модифицированную версию метода Дэйва Бенхамса:
 Рем -- https://www.dostips.com/forum/viewtopic.php?t=4288#p23980
SETLOCAL EnableDelayedExpansion
 1>"%~f0:Params.dat" <"%~f0:Params.dat" (
  SETLOCAL DisableExtensions
  Установить подсказку=#
  Эхо на
  Для %%a in (%%a) do rem . %*.
  Эхо выключено
  КОНЕЦЛОКАЛЬНЫЙ
  Установить /p "Аргументы ="
  Установить /p "Аргументы ="
  Установите "Args=!Args:~7,-2!"
  @Rem дублировать аргументы для подсчета двойных кавычек [деструктивных].
  Установите "DQcount=!Args!"
 ) || (
  Echo(%~nx0 требует, чтобы дисковая система NTFS функционировала должным образом.
  CMD/C Выход -1073741510
 ) || Перейти:Eof
 Если не определено Args Goto:NoArgs
REM заменяет двойные кавычки в клоне Args 'DQcount'; подсчитать подстроку в строке;
REM оценивает, является ли счет четным; Если false "||": удалить двойные кавычки из строки.  Если верно "&&" и если целое
Строка REM arg заключена в двойные кавычки, удалите внешние кавычки.
 Установите Div="is=#", "1/(is<<9= %%G in ("!Args!") Сделать Endlocal и установить "Args=%%G" 2> nul
:NoArgs
================================================== ====================
Оценка запроса помощи Rem
 (
  Установить аргументы | %SystemRoot%\System32\Findstr.exe /bli "Args=\/? Args=-? Args=Help?" > ноль && (
   Значение Rem Args имеет ведущий /? -? или помочь?
   Если не "%Args:*?=%"=="" (
    Значение Rem Args содержит ведущий /? -? или помочь? с дополнительным параметром
    Вызов:%Args:*? =%_Синтаксис && Перейти к:Eof || (
     Rem выходит после вызова информации о синтаксисе, если действителен параметр; иначе уведомлять о недопустимых и показывать допустимые синтаксические запросы.
     Эхо (Неверный запрос: "%Args:*? =%": не соответствует допустимому запросу справки:
    )
   )
   Rem показывает корректные синтаксические запросы.
   Для /F "Tokens=1 Delims=:_" %%G in ('%SystemRoot%\System32\Findstr. :.*_Syntax" "%~f0"') Do Echo(%~nx0 / ? %%ГРАММ
   ENDLOCAL & Выход /b 0
  )
 ) 2> ноль
 Установить аргументы
 Перейти:Eof
Метки синтаксиса Rem Demo
:Demo_Syntax
Эхо %~0 помощь информация
Выход /b 0
:Пример_Синтаксис
Эхо %~0 помощь информация
Выход /b 0
 

Зарегистрируйтесь или войдите в систему

Зарегистрируйтесь с помощью Google

Зарегистрироваться через Facebook

Зарегистрируйтесь, используя электронную почту и пароль

Опубликовать как гость

Электронная почта

Требуется, но не отображается

Опубликовать как гость

Электронная почта

Требуется, но не отображается

windows — Как создать файл .

bat, который выполняет файл python

Я новичок в файле bat и начал его реализовывать. У меня есть список команд приложений Linux, которые запускают мое приложение. У меня есть система Windows для развертывания, используемая для git bash для выполнения этих команд, но при каждом перезапуске системы приходится запускать приложение вручную, поэтому я начал внедрять файл bat, который отображается при запуске системы

 @эхо выключено
название ML_autostart_API
запустить "" "C:\Program Files\Git\git-bash.exe"
 

Используя приведенный выше скрипт, я открыл git bash. В дальнейшем необходимо выполнить следующие команды

 # Для активации среды python.
источник E:/ML_API/Python_Environment/python3.8.10/Scripts/активировать
# Для навигации по каталогу проекта
компакт-диск E:/ML_API/API/Call_SessionV1
# Чтобы установить переменные окружения
исходный файл config/config.sh
# Для запуска приложения Python
приложение Python.py
 

должны выполнить вышеуказанное с помощью git bash, поскольку это команды с открытым исходным кодом и они не выполняются в Windows. git bash открывается, и дальнейшие команды не работают.

  • окна
  • пакетный файл
  • git-bash

5

Вам нужно будет создать 2 файла: один для командной строки Windows ( .bat ), другой для сценария bash ( .sh ). Причина в том, что после того, как вы запустите консоль bash , она будет работать в другом окне и понятия не имеет, что содержит ваш .bat . Мы будем называть наши сценарии как boot.bat и start.sh соответственно.

boot.bat

 @эхо выкл.
название ML_autostart_API
запустить "C:\Program Files\Git\git-bash.exe" start.sh
 

Обратите внимание, что start.sh добавляется в конце команды start в качестве параметра.

start.sh

 # Для активации среды Python
источник E:/ML_API/Python_Environment/python3.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *