Bat файл несколько команд

Содержание

Автоматизация Windows с помощью файла .bat (batch файл). Инструкция

Bat файл несколько команд
*.bat *.cmd

Файлы с расширением .bat .cmd – это пакетный файл, содержащий сценарий (набор команд), который будет выполнен интерпретатором. Их еще называют батник.

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

1. Создание файла .bat:

Для начала необходимо включить показ расширений файлов. Для этого в Проводнике во вкладке Вид необходимо поставить галочку на пункт File name extension (Расширения имен файлов)

Панель настроек проводника

После этого создайте документ с любым форматом (например текстовый файл .txt)

После этого переименуйте файл с расширением .bat

2. Открытие файла .bat:

Файл можно открыть с помощью любого текстового редактора

Чтобы открыть в блокноте, в контекстном меню выберите Edit (Изменить):

Контекстное меню файла .bat

3. Запуск файла .bat:

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

После этого запустите файл от имени администратора.

Откроется командная строка cmd.exe и начнет выполняться ваш скрипт.

Список команд файлов .bat .cmd:

Подробнее о командах в следующих статьях

ASSOC    Вывод либо изменение сопоставлений по расширениям имен файлов.
AT       Выполнение команд и запуск программ по расписанию.
ATTRIB   Отображение и изменение атрибутов файлов.
BREAK    Включение/выключение режима обработки комбинации клавиш CTRL+C.
CACLS    Отображение/редактирование списков управления доступом (ACL) к файлам.

CALL     Вызов одного пакетного файла из другого.
CD       Вывод имени либо смена текущей папки.
CHCP     Вывод либо установка активной кодовой страницы.
CHDIR    Вывод имени либо смена текущей папки.
CHKDSK   Проверка диска и вывод статистики.
CHKNTFS  Отображение или изменение выполнения проверки диска во время загрузки.

CLS      Очистка экрана.
CMD      Запуск еще одного интерпретатора командных строк Windows.
COLOR    Установка цвета текста и фона, используемых по умолчанию.
COMP     Сравнение содержимого двух файлов или двух наборов файлов.
COMPACT  Отображение/изменение сжатия файлов в разделах NTFS.

CONVERT  Преобразование дисковых томов FAT в NTFS. Нельзя выполнить         преобразование текущего активного диска.COPY     Копирование одного или нескольких файлов в другое место.
DATE     Вывод либо установка текущей даты.
DEL      Удаление одного или нескольких файлов.
DIR      Вывод списка файлов и подпапок из указанной папки.

DISKCOMP Сравнение содержимого двух гибких дисков.
DISKCOPY Копирование содержимого одного гибкого диска на другой.
DOSKEY   Редактирование и повторный вызов командных строк; создание макросов.
ECHO     Вывод сообщений и переключение режима отображения команд на экране.
ENDLOCAL Конец локальных изменений среды для пакетного файла.

ERASE    Удаление одного или нескольких файлов.
EXIT     Завершение работы программы CMD.EXE (интерпретатора командных строк).
FC       Сравнение двух файлов или двух наборов файлов и вывод различий между ними.
FIND     Поиск текстовой строки в одном или нескольких файлах.
FINDSTR  Поиск строк в файлах.

FOR      Запуск указанной команды для каждого из файлов в наборе.
FORMAT   Форматирование диска для работы с Windows.
FTYPE    Вывод либо изменение типов файлов, используемых при сопоставлении по расширениям имен файлов.
GOTO     Передача управления в отмеченную строку пакетного файла.

GRAFTABL Позволяет Windows отображать расширенный набор символов в графическом режиме.
HELP     Выводит справочную информацию о командах Windows.
IF       Оператор условного выполнения команд в пакетном файле.
LABEL    Создание, изменение и удаление меток тома для дисков.
MD       Создание папки.
MKDIR    Создание папки.

MODE     Конфигурирование системных устройств.
MORE     Последовательный вывод данных по частям размером в один экран.
MOVE     Перемещение одного или нескольких файлов из одной папки в другую.
PATH     Вывод либо установка пути поиска исполняемых файлов.
PAUSE    Приостановка выполнения пакетного файла и вывод сообщения.

POPD     Восстановление предыдущего значения текущей активной папки, сохраненного с помощью команды PUSHD.
PRINT    Вывод на печать содержимого текстовых файлов.
PROMPT   Изменение приглашения в командной строке Windows.
PUSHD    Сохранение значения текущей активной папки и переход к другой папке.
RD       Удаление папки.

RECOVER  Восстановление читаемой информации с плохого или поврежденного диска.
REM      Помещение комментариев в пакетные файлы и файл CONFIG.SYS.
REN      Переименование файлов и папок.
RENAME   Переименование файлов и папок.
REPLACE  Замещение файлов.
RMDIR    Удаление папки.

SET      Вывод, установка и удаление переменных среды Windows.
SETLOCAL Начало локальных изменений среды для пакетного файла.
SHIFT    Изменение содержимого (сдвиг) подставляемых параметров для пакетного файла.
SORT     Сортировка ввода.
START    Запуск программы или команды в отдельном окне.

SUBST    Сопоставляет заданному пути имя диска.
TIME     Вывод и установка системного времени.
TITLE    Назначение заголовка окна для текущего сеанса интерпретатора командных строк CMD.EXE.
TREE     Графическое отображение структуры папок заданного диска или заданной папки.
TYPE     Вывод на экран содержимого текстовых файлов.

VER      Вывод сведений о версии Windows.
VERIFY   Установка режима проверки правильности записи файлов на диск.
VOL      Вывод метки и серийного номера тома для диска.
XCOPY    Копирование файлов и дерева папок.

Источник: https://zen.yandex.ru/media/id/5b27e8aab2d6e500a92f753e/avtomatizaciia-windows-s-pomosciu-faila-bat-batch-fail-instrukciia-5b40cf82b14bc000aacf78ec

Команды bat-файлов (Windows)

Bat файл несколько команд

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

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

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

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

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

– для работы с приложениями.

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

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

При нахождении командного файла в другом каталоге необходимо кроме полного имени этого файла прописать полный путь до каталога его хранения. Расширение файла также можно не прописывать. Например, текущий каталог d:\photo\work, а командный файл vera.

bat, который нужно выполнить с параметрами resize.doc и /p, находится в каталоге d:\photo\home. Тогда для того, чтобы осуществился запуск нашего файла, нужно прописать команду d:\photo\home\vera resize.doc /p или команду ..\home\vera resize.doc /p.

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

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

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

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. Сделать это можно, нажав клавишу и «7» на цифровой клавиатуре (с надписью home).

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

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

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

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

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

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

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

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

При этом на дисплее отобразится сообщение типа «Нажмите любую клавишу для продолжения», и выполнение скрипта будет приостановлено до нажатия кнопки клавиатуры.

Если будет нажата комбинация + или +, то система воспримет это как завершение работы исполняемого файла и выдаст запрос на подтверждение завершения его работы: «Прервать выполнение командного файла? (Y/N)». Если нажать клавишу Y, то произойдет прерывание работы скрипта в этом месте и все оставшиеся невыполненные команды будут проигнорированы.

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

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

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

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

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

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

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

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

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

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

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

Источник: https://FB.ru/article/239600/komandyi-bat-faylov-windows

Как создать bat-файл в Windows 7/10 – редактируем и сохраняем батник

Bat файл несколько команд

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

Первая операционная система MS DOS, разработанная компанией Microsoft, не имела GUI, а управление выполнялось посредством ввода текстовых команд.

С тех пор минуло без малого 40 лет, однако скриптовый язык командной строки по-прежнему пользуется популярностью, причём не только в среде разработчиков.

Командная строка не столь удобна, зато с её помощью можно выполнять недоступны из GUI операции. С другой стороны, запускать каждый раз консоль, вводить в неё одну за другой команды – всё это сильно замедляет работу.

Впрочем, можно существенно упростить задачу, создав бат-файл или попросту батник – текстовый файл с расширением BAT, содержащий список инструкций, обрабатываемых командным интерпретатором CMD.

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

Как создать файл с расширением BAT

Итак, как создать bat-файл в Windows 7/10? Очень просто. Для этого понадобится любой текстовый редактор и знание основ командной строки.

Можно использовать Блокнот, а ещё лучше Notepad++, так как последний имеет подсветку синтаксиса.

Создайте в редакторе новый файл, в меню «Файл» выберите «Сохранить как», дайте будущему скрипту имя, а в выпадающем списке «Тип файла» выберите «Batch file (*bat; *cmd; *nt)».

Если для создания bat-файла захотите использовать Блокнот, расширение нужно присвоить вручную, а в списке «Тип файла» выбрать «Все файлы».

Как видите, создать файл с расширением bat не составляет сложности, есть тут, однако, свои тонкости. В командных файлах нельзя использовать перенос строк, кодировка bat-файла должна быть выставлена UTF-8, если в теле скрипта используется кириллица, кодировку нужно изменить, вставив в положенном месте команду chcp 1251.

Основные команды, синтаксис и примеры использования батников

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

Чтобы скрипт сработал, в нём должна быть прописана хотя бы одна команда. Для наглядного примера посмотрим, как написать bat-файл для запуска программ. Допустим, приступая к работе, вы каждый раз запускаете три программы – Chrome, Firefox и VLC.

Упростим задачу, создав скрипт, который будет сам запускать эти программы с интервалом в пять секунд.

Открываем пустой батник и вставляем в него такие команды:

start “” “C:/Program Files/Google/Chrome/Application/chrome.exe” timeout /t 05 start “” “C:/Program Files/Mozilla Firefox/firefox.exe” timeout /t 05 start “” “C:/Program Files/VideoLAN/VLC/vlc.exe” Команда start запускает исполняемый файл нужной программы, а команда timeout /t задаёт интервал между запусками.

Обратите внимание на расположение кавычек – в них берутся пути, в которых имеются пробелы.

Также если в пути есть кириллические символы, в начало скрипта следует вставить изменяющую кодировку команду chcp 1251, в противном случае интерпретатор не сможет правильно прочитать путь.

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

start /b “” “путь”

Может также статься, что в определённый момент потребуется приостановить выполнение скрипта, чтобы пользователь сам смог решить, выполнять ли все остальные команды или нет. Для этого существует команда pause. Попробуйте заменить ею timeout и увидите, что получится.

start /b “” “путь” pause

Рассмотрим ещё один пример команд для bat файла. Напишем скрипт, который будет в одном случае выключать компьютер, а в другом – перезагружать его. Для этих целей мы будем использовать команду shutdown с параметрами /s, /r и /t. При желании можно добавить в батник запрос на выполнение действия, вот так:

@echo off chcp 1251 echo “Вы действительно хотите выключить компьютер?” pause shutdown /s /t 0

Поясняем.

Первая команда скрывает текст самих команд, вторая – устанавливает кириллическую кодировку, третья – выводит сообщение для пользователя, четвертая – устанавливает паузу, пятая – выключает, а с ключом /r вместо /s перезагружает компьютер без традиционной задержки в одну минуту. Если не желаете церемониться с запросами и паузами, можете оставить только пятую команду.

Что ещё можно делать с помощью скриптов? Много чего, например, удалять, копировать или перемещать файлы. Допустим, у вас есть некая папка data в корне диска D, содержимое которой нужно очистить одним махом. Открываем батник и вставляем в него такую команду:

del /A /F /Q “D:/data”

А можно и так:

forfiles /p “D:/data” /s /m *.* /c “cmd /c Del @path”

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

А вот ещё один полезный пример. Напишем скрипт, который будет создавать резервную копию содержимого одной папки и сохранять данные в другую. За копирование отвечает команда robocopy:
robocopy C:/data D:/backup /e pause

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

Запуск bat-файлов от имени администратора и по расписанию, скрытый запуск bat

Теперь вы знаете как создавать батники и имеете некое общее представление о языке интерпретатора CMD. Это были основы, теперь пришла пора познакомиться с некоторыми полезными особенностями работы с bat-файлами.

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

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

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

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

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

Скрипты, как и все приложения, можно запускать по расписанию. Команда timeout /t здесь не совсем уместна, для отложенного запуска лучше всего использовать встроенный «Планировщик задач» Windows.

Здесь всё просто. Открываем командой taskschd.msc Планировщик, определяемся с триггером, действие выбираем «Запустить программу» и указываем путь к bat-файлу.

Вот и всё, скрипт будет запущен в положенное время.

И напоследок ещё один интересный момент. Когда вы запускаете bat-файл, на экране появляется, пусть даже на какую-то долю секунды, окно командной строки. А нельзя ли сделать так, чтобы скрипт выполнялся в скрытом режиме? Можно, причём несколькими способами.

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

После этого единственным видимым признаком запуска скрипта будет появление значка CMD на панели задач, окон же при этом открываться не будет.

Если вы желаете полностью скрыть выполнение скрипта, можете воспользоваться «костылем» – скриптом VВS, который будет запускать ваш батник в скрытом режиме. Текст скрипта приведен ниже, сохраните его в файл hidden.vbs, предварительно заменив путь во второй строчке кода D:/sсript.bat путём к вашему батнику.

Set WshShell = CreateObject(“WScript.Shell”) WshShell.Run chr(34) & “D:\script.bat” & Chr(34), 0 Set WshShell = Nothing

Есть также и другие варианты, например, использование утилиты Hidden Start, позволяющей запускать исполняемые и пакетные файлы в скрытом режиме, в том числе без приглашения UAC.

А на этом пока всё. Информацию касательно создания скриптов BAT без труда можно найти в интернете. Неплохо также ознакомиться с учебником Уильяма Станека «Командная строка Microsoft Windows». Несмотря на то, что с момента издания книги прошло более десяти лет, содержащаяся в ней информация до сих пор актуальна.

Источник: https://viarum.ru/kak-sozdat-bat-fayl-v-windows/

Создание bat файлов

Bat файл несколько команд

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

Создать BAT файл очень просто. Достаточно открыть блокнот и сохранить пустой лист с расширением .bat, выбрав опцию Сохранить как… и написав в поле Имя файла что-нибудь оканчивающееся на .bat, например test.bat.
Тип файла указываете как на скриншоте ниже – Все файлы. Сохраняете и получаете BAT файл.

Редактировать BAT файл можно в блокноте или любом другом текстовом редакторе, ориентированным на работу с кодом.

Теперь перейдем непосредственно к практической информации. В сети многие ищут ответ на вопрос Как быть с пробелами в BAT файлах?. В путях к папкам и исполняемым файлам наличие пробела вызывает ошибку.

Самый распространенный ответ: Заключи путь в кавычки. И этот ответ не верен. Правда некоторые будут с пеной у рта утверждать, что он работает.

Итак, появилось два почему – почему не верен и почему некоторые будут.

На Windows (как, впрочем, и на UNIX) установленные в системе программы соответствующим образом регистрируются системой. Поэтому некоторые из установленных программ могут запускаться одной простой командой из BAT файла или из апплета Выполнить панели Пуск. Одной из таких программ является Firefox:

start firefox Если после этой команды писать путь к исполняемому файлу, то происходит следующее: запускается обозреватель Firefox и пробует обработать запрос, то есть файл, путь к которому указан. То есть, если указать следующее:
start firefox C:\Program Files\Mozilla Firefox\firefox.exe

Обозреватель откроется, чтобы не было написано после start firefox. Именно поэтому некоторые товарищи будут уверять что все прекрасно работает. Однако, если взять портативную программу, то ситуация окажется совсем иная. Рассмотрим в качестве примера ftp-клиент Filezilla. Поскольку система не знает о программе, вышеупомянутая строчка

start filezilla

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

start D:\FileZilla\FileZilla.exe

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

Теперь поговорим о путях и пробелах. Первый способ избежать этой проблемы – использование короткого имени.

start C:\Program Files\Sound Club\scw.exe

В примере два имени с пробелами. Заменим их короткими. Правила создания коротких имен следующие: в коротком имени используются первые шесть символов имени без учета пробелов, после имени указывают порядковый номер папки с помощью символа ~. Так как папки Program Files и Sound Club у меня в единственном числе, получится следующее:

Program Files – Progra~1 Sound Club – SoundC~1 start C:\Progra~1\SoundC~1\scw.exe

Если рядом будут присутствовать две папки, например Sound Club и Sound Clown, то следуя правилам, в примере выше надо будет указать SoundC~2, так как в этом случае Sound Club окажется вторым именем (имена считаются в алфавитном порядке).

Но этот способ неудобен тем, что приходится указывать порядковые номера. Ситуация с Program files более менее нормальная. Мало у кого встретится две подобные папки на системном диске. Но если вы решили установить несколько продуктов Mozilla на свой компьютер. У вас получится несколько папок, например:

Mozilla Firefox Mozilla Thunderbird Mozilla Sunbird

Короткими именами для них будут

Mozill~1 Mozill~2 Mozill~3

А теперь представьте, что вы написали BAT файл с упоминанием этих программ. Если удалить Firefox, оставшиеся записи перестанут работать, а если удалить Thunderbird, перестанет работать запись для Sunbird. Короче, способ с короткими именами – не наш способ.

Пробелы и кавычки в bat-файлах

Кавычки на самом деле работают, но не с теми способами, которые обычно советуют. Советуют обычно следующее:

start “C:\Program Files\Sound Club\scw.exe”

Так команда не сработает, поскольку если посмотреть справку по ней (start /?), то в справке вы увидите следующее:

START [“заголовок”] [/D путь] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED] [/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL] [/NODE узел NUMA] [/AFFINITY маска сходства] [/WAIT] [/B] [команда/программа] [параметры]

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

start “” “C:\Program Files\Sound Club\scw.exe” Также сработает и вариант с заключением в кавычки всех имён с пробелами по отдельности:
start C:\”Program Files”\”Sound Club”\scw.exe

Однако, в ряде случаев не работает ничего из вышеописанного. В таких случаях я могу посоветовать использовать команду cd. Переходим на системный раздел, затем с помощью cd в папку Program Files и запускаем программу (start):

%SystemDrive% cd \Program Files\Sound Club\ start scw.exe

Я думаю, что такой способ будет работать везде. Теперь еще пара важных моментов. Допустим вы создали батник, запускающий три программы и вам нужно на время исключить запуск одной из трех. Это можно сделать удалением строки или ее комментированием. Первый способ – вандальный, а второй смотрите ниже.

start firefox start jetaudio

В данном случае отключен запуск установленной в системе программы Defraggler.exe. Комментируют строки, указывая команду rem в начале строки. Все BAT файлы выполняются в окне консоли. Чтобы оно исчезало по окончании выполнения команд, не забывайте в конце писать команду на выход exit.

start firefox start jetaudio exit

Запуск приложений из bat-файла

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

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

Выше было изложено несколько способов запуска приложений при помощи BAT файла. Самый первый – это короткая команда на запуск установленной в системе программы.

start firefox

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

start C:\”Program Files”\”Mozilla Firefox”\firefox.exe

Также я отметил, что в BAT файле обязательно должна присутствовать команда на завершение:

start C:\”Program Files”\”Mozilla Firefox”\firefox.exe exit

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

start /min D:\FileZilla\FileZilla.exe exit

Скомандовать в данном случае – значит указать ключ. Ключ указывается через слэш после основной команды (команда /ключ). Основной командой в данном случае является start. Правда ключ min работает только в половине случаев, потому как относится именно к команде запуска start, а не к программам, которые эта команда запускает.

Вообще ключей существует очень много и наборы ключей разных программ могут существенно различаться. Есть, правда, несколько общих. Например, ключ справки (/? или /help). Чтобы проследить работу этого ключа, рассмотрим практический пример. Откройте консоль (Жмёте      + R, вводите cmd, далее Enter) и набираете в консоли следующее:

Источник: https://nevor.ru/stati/operacionnye-sistemy/stati-dlya-windows/sozdanie-bat-fajlov

Пакетные (BAT) файлы – что такое, чем открыть и как писать узнаешь тут!

Bat файл несколько команд
страницаПолезноеКомандная строка (CMD)Примеры bat файлов

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

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

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

Название BAT файлы было получено за счет наличия указанного расширения. Запуск пакетных документов является аналогичным приложениям .EXE и .COM.

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

Именно её считывает и выполняет командный процессор DOS. Существует несколько доступных вариантов:

  • Особые команды для вывода определенных сведений или приложений на экран.
  • Осуществление вызова различных пакетных документов.
  • Работа с другими приложениями.
  • Особые команды, обеспечивающие создание ветвлений, а также циклов.

Обеспечивается способность выполнения довольно сложных и многоуровневых последовательностей управления процессами. Наиболее значимым качеством пакетных документов требуется отметить автоматизацию работы над заданиями. Деятельность происходит без каких-либо вмешательств со стороны пользователей системы. Разрешается выполнение файлов BAT почти на всех этапах установки ОС Windows.

Допускается помещение внутрь пакетных документов всех существующих команд. Предполагается усложнение поставленных задач и даже создание условий. В этом деле оказывают поддержку команды goto, if и for. Требуется отметить autoexec.bat – файл необходим при осуществлении начальных настроек ОС в ходе запуска.

Следует рассмотреть простейший пример самостоятельного создания пакетного файла. Для выполнения поставленной задачи будет достаточно открыть новый документ с расширением TXT и ввести туда предложенный текст:

title Batch File Testing

echo Hello World

echo.

echo Starting Notepad

start notepad

echo.

echo Starting Wordpad

start Wordpad

echo.

pause

exit

После этого осуществляется сохранение документа и установка для него любого названия. Основным моментом требуется предусмотреть задание расширения CMD или BAT. После этого требуется выполнить запуск.

Происходит назначение окна с названием “Batch File Testing”. Работа указанного документа будет заключаться в том, чтобы открыть блокнот и выполнить запрос на нажатие любой клавиши.

Когда это сделано, окно закроется.

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

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

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

Задание паузы в файле BAT перед исполнением последующей команды

Разрешается осуществление паузы в результате применения большого числа команд. Часть из них предусматривают подобную функцию. Ниже будет рассмотрено выполнение поставленной задачи за счет команды ping:

ping -n 1 -w 50000 123.123.123.254 >nul

Следует перечислить и расшифровать параметры:

n 1

Запрос будет исполняться только один раз

w 50000

Для ожидания ответа выбран интервал в 50.000 мс (50 секунд)

123.123.123.254

В качестве этого параметра прописывается IP адрес, которого точно не существует внутри локальной сети. Это позволяет утверждать о невозможности ответа на запрос

>nul

Производится перенаправление для выдачи в несуществующее место

Зацикливание в файле BAT выполнения команды

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

:loop

ping -n 1 -w 60000 123.123.123.254 >nul

start notepad.exe

goto loop

Происходит открытие блокнота каждую минуту.

Создание папки, имя которой устанавливается текущей датой

Папки данного вида популярны в качестве мест сохранения бэкапов. Необходимо рассмотреть основные методы создания.

MD %SYSTEMDRIVE%\%date:~-10%

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

Недостатком указанного подхода считается невозможность получения результата в определённых ситуациях.

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

md %systemdrive%\%date:~0,2%_%date:~3,2%_%date:~6,4%

или

md %systemdrive%\%date:~6,4%_%date:~3,2%_%date:~0,2%

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

@echo off

for /F “tokens=1-4 usebackq delims=. ” %%1 in (`date /t`) do set mydate=%%4.%%3.%%2

ren test.txt test%mydate%.txt

Это позволит изменить название документа с test.txt на test(гггг.мм.дд).txt

Запрет повторного запуска программ

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

pslist.exe -e “операция

if %errorlevel%==1 start “” “приложение

Здесь упоминается специальная программа pslist. Она является бесплатной и может быть свободно загружена из интернета.

Выполнение резервных копий в автоматическом режиме

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

rem *******************

rem задаём жесткий диск, где лежат папки для архивирования и винт куда будем бэкапить

rem *******************

SET DRIVE1ST=d:

SET DRIVE2ND=e:

rem *******************

rem пароль на архив

rem *******************

SET PASSWD=qmsdhgsdfgsdfhdsfhsdhf

rem *******************

rem если копировать для надёжности куда-нибудь на сетку

rem *******************

rem SET COPYTO=\\shpakk\c$\!backup

rem ********************

rem *** Проверим путь назначения архива

rem ********************

%DRIVE1ST%

if not exist \!backup md \!backup

if not exist \!backup\Departments md \!backup\Departments

if not exist \!backup\Exchange md \!backup\Exchange

if not exist \!backup\MEDEA_rdisk md \!backup\MEDEA_rdisk

cd \!backup

rem ******************************

rem *** Backup \\SERVER\e$\Exchange

rem ******************************

SET DIRNAME=Exchange

SET FILENAME=SERVER_Exchange

SET SOURCEDIR=e:\Exchange

rar a -r -m5 -dh -x*.mp3 -x*.fcd -x*.avi -x*.zip -x*.rar -x*.exe -w%DRIVE2ND%\ -p%PASSWD% %DIRNAME%\%FILENAME%_new %SOURCEDIR%\*.*

if not exist %DIRNAME%\%FILENAME%_new.rar goto next2

del %DIRNAME%\%FILENAME%_old.rar

ren %DIRNAME%\%FILENAME%.rar %FILENAME%_old.rar

ren %DIRNAME%\%FILENAME%_new.rar %FILENAME%.rar

copy %DIRNAME%\%FILENAME%.rar %COPYTO%\%DIRNAME%

:next2

rem ***************************

rem *** Backup \\SERVER\e$\Users

rem ***************************

SET DIRNAME=Departments

SET FILENAME=SERVER_Departments

SET SOURCEDIR=e:\Departments

if not exist %DIRNAME%\%FILENAME%_new.rar goto next3

del %DIRNAME%\%FILENAME%_old.rar

ren %DIRNAME%\%FILENAME%_4.rar %FILENAME%_old.rar

ren %DIRNAME%\%FILENAME%_3.rar %FILENAME%_4.rar

ren %DIRNAME%\%FILENAME%_2.rar %FILENAME%_3.rar

ren %DIRNAME%\%FILENAME%_new.rar %FILENAME%_2.rar

:next3

rem *******************

rem это если архив будет большим – кусками бить -v357888k

rem *******************

rem rar a -r -m5 -v357888k -dh -x*.mp3 -x*.fcd -x*.avi -x*.exe -w%DRIVE2ND%\ -p%PASSWD% %DIRNAME%\%FILENAME%_new %SOURCEDIR%

rem *******************

rem архивирование пошло, не берём мультимедиа файлы

rem *******************

rar a -r -dh -x*.mp3 -x*.fcd -x*.avi -x*.exe -x*.jpg -x*.tif -p%PASSWD% %DIRNAME%\%FILENAME%_new %SOURCEDIR%

goto next4

:next4

rem **********************************

rem *** Create repair disk on \\SERVER

rem **********************************

SET DIRNAME=MEDEA_rdisk

SET FILENAME=MEDEA_rdisk

SET SOURCEDIR=%windir%\repair

%windir%\system32\rdisk.exe /s-

rar a -r -m5 -dh -w%DRIVE2ND%\ -p%PASSWD% %DIRNAME%\%FILENAME%_new %SOURCEDIR%\*.*

if not exist %DIRNAME%\%FILENAME%_new.rar goto next5

del %DIRNAME%\%FILENAME%_old.rar

ren %DIRNAME%\%FILENAME%.rar %FILENAME%_old.rar

ren %DIRNAME%\%FILENAME%_new.rar %FILENAME%.rar

copy %DIRNAME%\%FILENAME%.rar %COPYTO%\%DIRNAME%

:next5

В итоге имеем 3 папки: Departments, в ней:

SERVER_Departments_2.rar – 2х дневной давности

SERVER_Departments_3.rar – 3х дневной давности

SERVER_Departments_4.rar – 4х дневной давности

SERVER_Departments_new.rar – НОВЫЙ

SERVER_Departments_old.rar – СТАРЫЙ Exchange

Так как архивируем обменник – он нам сильно то и не нужен храним только сегодняшний и вчерашний архивы

SERVER_Exchange.rar

SERVER_Exchange_old.rar ну и систему на всякий в папке

SERVER_rdisk

SERVER_rdisk.rar

SERVER_rdisk_old.rar

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

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

Написание комментариев можно осуществить несколькими способами. Когда приходится иметь дело с довольно большим количеством текста, рекомендуется следующий подход:

goto start

————————————–

Этот пакетный файл предназначен

для автоматизации рутинных операций,

выполняемых ночью для синхронизации

содержимого корпоративного ftp-сервера

с ftp-серверами филиалов

————————————–

Пакетный файл написан 01/01/2016

Источник: https://xn--80aa0aebnilejl.xn--p1ai/%D0%9F%D0%BE%D0%BB%D0%B5%D0%B7%D0%BD%D0%B0%D1%8F_%D0%B8%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D0%B8%D1%8F/%D0%9A%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%BE%D0%BA%D0%B0/bat_%D1%84%D0%B0%D0%B9%D0%BB%D1%8B_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B.html

Поделиться:
Нет комментариев

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

    Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.