Что такое bat-файл, как создавать файлы пакетной обработки команд

Введение

Мы все любим писать серьезные вещи на серьезных языках. Шаблоны, C++, Reflection, Perl и многое другое – вот то, что мы любим, то, чему посвящаем длинные сообщения в форумах, то, что снится нам по ночам.

Однако в нашей повседневной деятельности встречаются и вещи, которые не так интересны и интеллектуальны. Мы не очень любим говорить об этом, делаем вид, что Это – грязно, нечистоплотно и недостойно нашего внимания. Однако, приходит день, приходит час и перст Судьбы находит нас – нам надо написать еще один батничек… Иногда это запускалка для построения проекта, которая должна при ошибке компиляции скопировать логи на сетевой диск, иногда – запуск обновления исходных текстов из SVN. Иногда – что-нибудь еще.

К чему я это все? А к тому, что поговорим мы о полезных хитростях при написании файлов сценариев на встроенном командном языке Windows. К счастью, это занятие не является доминирующим в профессиональной деятельности автора, так что я не обязуюсь заполнить абсолютно все пробелы в данной области. Кроме того, рожденный ползать летать не может, и из cmd.exe, увы, не получится ни /usr/bin/perl, ни даже /bin/sh

Так что, все нижеприведенное – просто некоторые интересные факты из жизни файлов с расширением bat, на которые автор обратил внимание во время решения различных практических задач автоматизации

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

ПРЕДУПРЕЖДЕНИЕ

Практически все описанные здесь рецепты подойдут только для Windows 2000 и старше. Bat-язык Windows 9x, к счастью, можно считать почившим, так что здесь он не рассматривается. Более того, диалекты cmd.exe операционных систем Windows 2000, Windows XP и Windows Server 2003 также немного различаются. Все приведенное ниже создано и проверено на компьютере под управлением операционной системы Windows XP. За подробной информацией по различиям в реализации той или иной команды обращайтесь к .

Как запустить bat файл?

Запустить .bat файл очень просто, это делается точно также, как и запуск .exe файлов. Для этого достаточно выделить нужный .bat файл в проводнике и дважды щелкнуть по нему левой кнопкой мыши.
Альтернативным вариантом запуска (чтобы случайно не запустить что то не то, например, в том случае, если в папке много файлов) может являться запуск bat файла в 2 этапа. Сначала выделяем нужный файл левой кнопкой мыши, далее нажимаем на правую кнопку мыши, чтобы вызвать контекстное меню, и в нем уже выбираем пункт меню Открыть

В нашем примере, мы переходим в папку test на диске C:\ и запускаем файл start.bat, который мы ранее написали.

После его выполнения на экран будет выведено две строки, как на скриншоте ниже:

результат выполнения файла start.bat

После нажатия любой клавиши окно закроется, т.к

bat-файл выполнен.
Обратите внимание, что символ собаки перед каждой командой в bat-файле указывает на то, что саму команду выводить на экран не надо, а нужно вывести только результат ее работы. Чтобы поэкспериментировать удалите символ собаки из начала каждой строки, сохраните и запустите полученный bat файл

Часть третья. Резервное копирование при помощи батников

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

Для копирования каких-либо данных используется команда copy (копирование файла/файлов) или xcopy (копирование каталогов). Т.е., допустим, нам необходимо делать бэкап содержимого папки, в которой находятся ваши данные к дипломной работе (материалы, приложения, черновик самой работы и т.д.).
В этом случае текст будет следующим

@echo off
chcp 1251
xcopy "D:\diplom\*.*" "E:\backup\diplom\*.*"

Где D:\diplom\ — папка расположения всех материалов к диплому, а E:\backup\diplom\ — конечная директория резервной копии.
Создаём батник, кидаем его в автозагрузку (пуск — все программы — автозагрузка), и при каждом включении компьютера будет создаваться резервная копия (рк).Чуть усложним. Сделаем, чтобы при включении ПК старые данные сохранялись в папочке diplom_old, а новые в папочке diplom. Тогда батник будет иметь вид

@echo off
chcp 1251
del "E:\backup\diplom_old\" /s /q
rmdir "E:\backup\diplom_old\" /s /q
rename "E:\backup\diplom\" "diplom_old"
xcopy "D:\diplom\*.*" "E:\backup\diplom\*.*"

del удаляет ранее созданную вторую рк.rmdir переименовывает первую рк во вторую.xcopy создаёт новую рк.
Атрибут /s применяет команду ко всем подкаталогам, атрибут /q отключает запрос на подтверждение действий.Если в двух копиях смысла нет, можно сделать так, чтобы заменялись только те файлы, которые были изменены, те же, которые не изменились, либо вообще были удалены из исходной папки, затронуты не будут. Для этого пишем следующее

@echo off
chcp 1251
xcopy "D:\diplom\*.*" "E:\backup\diplom\*.*" /E /F /H /R /K /Y /D

Создание бэкапа в архиве

Ну и последнее, что здесь стОит рассмотреть, наверное, на данном этапе — это бэкапы в архиве
Рассмотрим изменённую предыдущую ситуацию. Допустим, нам надо, чтобы при каждом включении ПК создавалась копия папки, запакованная в архив.
Нам необходимо в автозагрузку положить батник со следующим содержимым

@echo off
chcp 1251
c:\PROGRA~1\WinRAR\WinRAR.exe a -o+ -agDD-MMM-YY–HH-MM-SS "E:\backup\" "D:\diplom\"

Архив папки D:\diplom будет создаваться в E:\backup, именем будет дата и время создания архива, т.е., например 16-Aug-12–14-06-53

Длинные имена в 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

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

:test

if exist c:\1.txt goto go

ping -n 20 127.0.0.1 >nul

goto test

:go

start notepad.exe

Приведенный текст задает необходимость выполнения проверки каждые 20 секунд того, существует ли в корне диска С документа с названием 1.txt. Если подобное событие произойдет, выполняются действия после goto. В конкретной ситуации производится запуск программы блокнота, но можно использовать любые другие варианты.

Периодически возникает ситуация, когда искомый файл обладает крупным объемом и проводится его копирование. Таким образом, поиск выдаст результат, но какие-либо действия повлекут за собой появление ошибки. Чтобы этого не возникло, нужно несколько улучшить содержимое пакетного файла.

:test

if exist c:\1.txt goto go

ping -n 10 127.0.0.1 >nul

goto test

:go

rename c:\1.txt 1.txt

if not %errorlevel% == 0 goto go

del c:\1.txt

Как и раньше, попытка каких-либо действий с не полностью скопированным документом вызовет ошибку, но она не приведет к завершению. Произойдет повторение цикла и так до тех пор, пока ошибка не исчезнет.

Послесловие

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

При желании можно поставить запуск этого bat-ника в определенные дни через планировщик Windows (или другие программы позволяющие это делать) и вообще забыть о проблеме долгих ручных backup’ов.

Если есть какие-то вопросы или проблемы — спрашивайте. Как всегда помогу чем смогу 😉

PS: Если мне не изменяет память, то это кусочек темы из умных админских книжек, а именно из раздела «Автоматизация администрирования».. так что можете собой гордится 🙂

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

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

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

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

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

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

Как сложить два числа?

Краткий ответ – смотри:

      set /?

Длинный ответ таков. В bat-файлах можно производить довольно-таки продвинутые вычисления – продвинутые не в сравнении с другими языками, а в сравнении с отсутствием возможности что-либо вычислить вообще. Вычисление осуществляется командой set, если она выполняется с ключом /a. Поддерживается практически полный набор операторов языка C, включая шестнадцатеричный модификатор 0x. Переменные окружения в выражении не обязательно заключать в знаки процента – все, что не является числом, считается переменной. Подробнее – все-таки в man set, тьфу, то есть в set /?. А здесь напоследок – просто несколько примеров.

      @echo off

set ARG=1

rem Переменные окружения в выражении не обязательно заключать в %...%
set /a RESULT=ARG + 2
echo%RESULT%
remЕсли выражение содержит какие-либо из символов non grata, надо
remзаключить его в кавычкиset /a RESULT="ARG << 2"
echo%RESULT%
remШестнадцатеричная арифметика
set /a RESULT=0x1234 + 0x6786
echo%RESULT%
rem И многое-многое другое...

Запуск программ и основные команды

Следующее видео о работе с командами для «батников»:

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

Стоит обратить внимание, что часть из них может не поддерживаться в системах Windows 8 или 10

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

  1. В основном, пользователям нужно немного – настроить запуск определенной программы (или нескольких), запустить одну из функций, настроить раздачу Wi-Fi через ноутбук или отключить компьютер через заданное время. Чтобы запустить программу или сразу несколько, нужно ввести следующее: start “расположение_программы”.
  1. Если в названиях папок есть пробелы, нужно пометить расположение двойными кавычками: start ” “C:MyfilesMyfile.exe”.
  2. После прописанного пути, можно добавить свои опции, чтобы программа запускалась вместе с ними. Это также берется в кавычки, таким образом: start “c:windowsnotepad.exefile.txt”
  1. Следующая интересная функция позволяет загружать «батник» из текущего файла. Для этого нужно воспользоваться оператором call, что выглядит так: call расположение_файла опции
  2. Полученные параметры во время запуска возможно прочесть из подключаемого файла. К примеру, для вызова файла с опциями потребуется указать: call file.bat опция1 опция2 опция3. Из file.bat можно считать эти операторы и пользоваться ими как путями, чтобы запускать другие приложения подобным образом: echo %1 или Каждой опции присваивается свой номер, к которому добавляется знак процента. В показанном примере результатом является вывод команд отправленных опций в консоль (echo применяется, если нужно вывести текст в консоль).
  3. В некоторых случаях, перед запуском следующей команды следует выждать время (к примеру, когда первая программа будет полностью запущена). Это делается с помощью команды: timeout /t указать_количество_секунд
  4. Если есть необходимость запускать программу свернутой или развернутой, можно добавить перед путем к программе параметр MIN или MAX: start /MINc:windowsnotepad.exe.
  5. Чтобы закрыть окно с командами, когда они будут запущены (впрочем, в большинстве случаев оно будет закрыто, если используется start), в последней строчке нужно добавить exit. Если же консоль так и остается открытой, можно попытаться сделать следующее: cmd /c start /b “” расположение_программы опции.

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

Как получить короткое (8.3) имя файла?

«А зачем? – спросите вы – Ведь мы живем в мире Интернета, Web-сервисов и NTFS с длинными именами файлов». Это действительно так, но иногда встречаются программы, которые отчаянно сопротивляются прогрессу, и в частности, не любят имен файлов и полных путей с пробелами. Одной из таких программ, кстати, является утилита build.exe из Windows DDK… В таких ситуациях спасает использование короткого, «беспробельного» DOS-имени для файла.

ПРЕДУПРЕЖДЕНИЕ

Доступ к файлу по короткому имени может быть не всегда возможен. На файловой системе NTFS создание коротких псевдонимов для файлов может быть отключено путем установки в единицу значения «NtfsDisable8dot3NameCreation» в ключе реестра «HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\FileSystem».

Итак, все же (в предположении, что надругательства над NTFS не было) – как? Внимательный читатель должен был заметить в предыдущем разделе, что при обращении к переменным %0 — %9 можно использовать префикс

%~s1        - expanded path contains short names only

который нам как раз мог бы помочь. Но есть засада – все эти полезные префиксы нельзя использовать с произвольной переменной окружения, а присваивание переменным %0 — %9 не поддерживается. К счастью, описываемые префиксы можно еще использовать с переменными цикла for, и это дает нам способ достичь требуемого результата. Например, вот так можно получить 8.3-путь к “Program Files”:

      for /d %%i in ("%PROGRAMFILES%") do (
    set PROGRAMFILESSHORT=%%~si
)

echo8.3-имя для каталога "%PROGRAMFILES%" -^> "%PROGRAMFILESSHORT%"

Этот и другие модификаторы можно использовать и с любой другой формой цикла for, подробнее о которых можно узнать из:

      for /?

Комментарии

Большое спасибо за статью! Именно то, что мне было нужно.

Офигеть! Полезные советы! Спасибо!

Спасибо большое. Давно искал.

Крутяк, добавлю в закладки.

пфффффффффффф вот это лайфхак епт, я тут тыркаю по 6 команд в гите поштучно, а тут вон оно че Михалыч. спасибо большое!

одна вертикальная черта | используется когда нужно выполнить одновременно несколько команд, не зависимо от результата и завершения предыдущей команды

Одна вертикальная черта | перенаправляет вывод предыдущей команды следующей. Например type «file1.txt» | find ”string1″ ищет в файле строку содержащую «string1» и выводит ее. Этот вывод можно отправить через | на следующую команду. Или, используя пример: (type «file1.txt» | find ”string1″ >nul) && (команды если строка найдена) || (команды если строка не найдена)

При одной вертикальной линии команды выполняются всё равно последовательно.

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

Как обработать текстовый файл?

Иногда в командном файле необходимо получить доступ к содержимому некоторого текстового файла и некоторым образом это содержимое обработать. Например, прочитать файл настроек программы.

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

      # Это простой файл с настройками

      # Режим сборки
buildmode=release

# Компилятор
compiler=cl.exe

# Архитектура
arch=x86

Ничего сверхъестественного – простой key=value формат с возможностью вставки Unix-style комментариев. Помочь в чтении и обработке этого файла нам сможет команда for. Ее дополнительные опции позволяют задать и разделители, и символ начала комментария, и кое-что еще. Вот командный файл, который выполняет поставленную задачу:

      @echo off

rem Читаем настройки из файла settings.txt, который должен располагаться в
rem том же каталоге, что и bat-файл. Если не удалось распарсить настройки -
rem выходим с ненулевым кодом возврата.
call :read_settings %~dp0\settings.txt || exit /b 1

rem Прочитанные настройки:
echoBuild mode  : %BUILDMODE%echoCompiler    : %COMPILER%
echoArchitecture: %ARCH%
rem Выход из сценария. Дальше - только функции.
exit /b 0

remrem Функция для чтения настроек из файла.
rem Вход:
rem       %1           - Имя файла с настройками
:read_settings

set SETTINGSFILE=%1

rem Проверка существования файла
if not exist %SETTINGSFILE% (
    echoFAIL: Файл с настройками отсутствуетexit /b 1
)

rem Обработка файла c настройками
rem Здесь:
rem     eol=# указывает на то, что содержимое строки начиная с символа #
rem     и до ее конца может быть пропущено как комментарий.
remrem     delims== указывает, что разделителем значений является символ =
remrem     tokens=1,2 приводит к тому, что в переменную %%i будет занесен первый
rem     токен, а в %%j - второй.
remfor /f "eol=# delims== tokens=1,2" %%i in (%SETTINGSFILE%) do (
    rem В переменной i - ключ
rem В переменной j - значение
rem Мы транслируем это в переменные окружения
set %%i=%%j
)

exit /b 0

Обильные комментарии должны помочь легко разобраться, что к чему. За подробностями, как обычно, отошлю к:

      for /?

Кстати, возможности команды for не ограничиваются чтением из файла. Возможно также чтение вывода другой команды. Например, так:

      @echo off

for /f "tokens=* usebackq" %%i in (`cmd.exe /c ver`) do (
    set VERSION=%%i
)

echo%VERSION%

Особенно меня умиляет наличие опции “usebackq”, которая делает синтаксис отдаленно похожим на юниксовый. И в стенах царства Билла есть граждане, скучающие по /bin/sh и пытающиеся хоть как-то скрасить существование свое и окружающих. Следующий совет это также косвенно подтверждает.

Bat файл — что к чему, вводная

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

Пакетный файл (т.е bat файл, от англ. batch file) — текстовый файл в MS-DOS, OS/2 или Windows, содержащий последовательность команд, предназначенных для исполнения командным интерпретатором.

После запуска пакетного файла, программа — интерпретатор (как правило COMMAND.COM или CMD.EXE) читает его строка за строкой и последовательно исполняет команды.

Пакетный файл — аналог shell script в Unix-подобных операционных системах.

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

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

Пакетные файлы поддерживают операторы if и goto (а в системах семейства Windows NT и расширенный оператор for), что позволяет обрабатывать результаты выполнения предыдущих команд или приложений и в зависимости от этого выполнять дальше тот или иной блок команд (как правило, в случае удачного завершения приложение возвращает 0 в переменной errorlevel; в случае неудачного — 1 или большее значение).

Пакетные файлы в DOS имеют расширение .bat; для других операционных систем они могут иметь другие расширения — например, .CMD в Windows NT и OS/2, или .BTM в 4DOS или подобных оболочках.

С теорией разобрались, приступим к, собственно, практике, а именно созданию bat-ника.

Примеры

В пакетных файлах используется следующий синтаксис для команды for:

for %%переменная in (множество) do команда
[ПараметрыКоманднойСтроки]

Чтобы отобразить содержимое всех файлов, имеющих разрешение .doc или .txt, в текущем каталоге
с помощью заменяемой переменной %f, введите следующую команду:

for %f in (*.doc *.txt) do type %f

В предыдущем примере каждый файл с расширением .doc или .txt в текущем каталоге будет
подставляться вместо переменной %f, пока не будет выведено содержимое всех файлов.
Чтобы использовать данную команду в пакетном файле, следует заменить все вхождения %f
на %%f. В противном случае переменная игнорируется, и отображается сообщение об
ошибке.

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

for /F «eol=; tokens=2,3* delims=,» %i in (myfile.txt) do @echo %i %j %k

Данная команда производит разбор каждой строки в файле Myfile.txt, игнорируя строки,
начинающиеся с точки с запятой, и передает второй и третий элементы из каждой строки в тело
цикла команды FOR. Элементы разделяются запятыми и/или пробелами. Тело инструкции
FOR использует %i для получения второго элемента, %j для получения
третьего элемента и %k для получения оставшихся элементов в строке. Если имена файлов
содержат пробелы, их следует заключать в кавычки (например, «ИмяФайла«).
Для использования кавычек необходима команда usebackq. В противном случае кавычки
рассматриваются как определение символьной строки для разбора.

Переменная %i объявлена явно в инструкции FOR, а %j и %k
объявлены неявно с помощью tokens=. С помощью tokens= можно указать до 26
элементов, если это не вызовет попытки объявить переменную с именем, большим буквы «z» или
«Z».

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

for /F «usebackq delims==» %i IN (`set`) DO @echo %i

В данном примере перечисляются имена переменных среды в текущем окружении.

Шаг 2. Изучите основы пакетного скриптинга

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

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

title: Обеспечивая большую часть той же функции, что и тег <title> в HTML, это обеспечит заголовок для вашего пакетного сценария в окне командной строки.

cls: очищает командную строку, лучше всего использовать, когда посторонний код может сделать то, к чему вы обращаетесь, нужно было найти.

rem: Сокращение для примечания обеспечивает ту же функциональность, что и тег <! — в HTML. Выражения Rem не вводятся в ваш код. Вместо этого они используются для объяснения и предоставления информации о коде.

%% a: каждый файл в папке.

(«. \»): Корневая папка. При использовании командной строки необходимо направить запрос в определенный каталог, прежде чем изменять имя файла, удалять файл и т. Д. С пакетными файлами вам нужно только вставить ваш .bat файл в каталог по вашему выбору.

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

начать «» : перейдет на веб-сайт по вашему выбору с помощью веб-браузера по умолчанию.

ipconfig: это классический параметр командной строки, который выдает информацию, касающуюся информации о сети. Эта информация включает в себя MAC-адреса, IP-адреса и маски подсетей.

ping: проверяет IP-адрес, отправляя пакеты данных через маршруты сервера, чтобы определить их местоположение и задержку (время отклика).

Библиотека для пакетных переменных огромна, если не сказать больше. К счастью, есть запись Wikibook, которая содержит обширную библиотеку параметров и переменных пакетного скрипта в вашем распоряжении.

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

Для этого:

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

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

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

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

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

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

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

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

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

Что собой представляет BAT-файл

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

С помощью таких батников можно автоматизировать целые классы задач:

  • осуществлять управление файловой системой компьютера (удалять, создавать, перемещать файлы, каталоги, подкаталоги);
  • выполнять последовательность команд с определёнными параметрами, которые могут быть контекстно-зависимыми;
  • осуществлять пакетный запуск программ/утилит.
Добавить комментарий

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

Adblock
detector