Экспорт переменных реестра из пакетного файла
В некоторых случаях поставлена задача, противоположная рассмотренной в предыдущем абзаце. Чтобы сохранить в пакетном файле некоторую часть реестра с полным перечнем параметров, необходимо использовать следующий подход:
regedit.exe -ea C:\environment.reg «HKEY_CURRENT_USER\Environment»
Происходит сохранение ветки HKEY_CURRENT_USER\Environment в документ, расположенный по адресу C:\environment.reg. При запросе на восстановление значений HKEY_CURRENT_USER\Environment, предполагается необходимым только выполнить запуск environment.reg. Примером использования такой команды следует назвать осуществление регулярного бэкапа настроек ПО или всей системы. Подобная информация находится в реестре и может быть выгружена оттуда. Полный адрес может включать в себя проблемы. Чтобы они не вызвали ошибку, надо позаботиться о заключении подобного пути в кавычки.
Примечания
- Использование команды set в консоли восстановления
Команда set с другими параметрами доступна в консоли восстановления.
- Использование специальных символов
Символы <, >, |, &, ^ являются специальными символами командной оболочки,
необходимо либо ставить перед ними управляющий символ (^), либо заключать в кавычки, при
использовании символов в параметре строка (например,
«строка_содержания&символ«). При заключении в кавычки
строки, содержащей специальные символы, кавычки считаются частью значения переменной
среды. - Использование переменных среды
Переменные среды используются для управления работой некоторых пакетных файлов и программ
и для управления работой Windows XP и подсистемы MS-DOS. Команда set часто
используется в файле Autoexec.nt для установки переменных среды. - Вывод текущих установок среды
Когда команда set вызвана без параметров, на экран будут выведены текущие
установки. Обычно эти установки включают переменные COMSPEC и PATH, используемые для
поиска программ на диске. Две другие переменные среды, используемые Windows это
PROMPT и DIRCMD. - Использование параметров
При указании значений для переменной и строки значение переменной добавляется к
окружению, а строка ставится в соответствие этой переменной. Если переменная уже
существует, новое значение замещает старое значение.Если в команде set указано только имя переменной и знак равенства (без значения),
какое-либо значение больше не будет ставиться в соответствие переменной среды, что
эквивалентно удалению переменной среды. - Использование /a
В следующей таблице представлены операторы, поддерживающие параметр /a, в порядке
убывания очередности.Оператор Выполнение оператора < > Группировка * / % + — Арифметические действия << >> Логический перенос & Поразрядное И ^ Поразрядное исключающее ИЛИ | Поразрядное ИЛИ = *= /= %= += -= &= ^= |= <<= >>= Назначение , Разделитель выражения При использовании логических операторов (&& ||) или оператора остатка от деления
(%) заключайте выражение строки в кавычки. Любые нечисловые строки в выражении считаются
именами переменной среды, чьи значения преобразованы в числа до обработки. Если указано
имя переменной среды, которое не определено в текущем окружении, ей присваивается
значение нуля, что позволяет выполнять арифметические операции со значениями переменной
среды без использования % для получения значения.При выполнении команды set /a из командной строки вне командного сценария,
выводится конечное значение выражения.Численные значения это десятичные числа, кроме чисел с префиксами 0x для
шестнадцатеричных чисел и 0 для восьмеричных чисел. Таким образом, 0x12 тоже самое, что
18 и 022. Восьмеричное представление требует аккуратности. Например, 08 и 09 недопустимы, потому
что 8 и 9 не являются восьмеричными цифрами. - Использование /p
Используется, когда не требуется включать командную строку.
- Поддержка расширения переменной среды с задержкой
Добавлена поддержка расширения переменной среды с задержкой. Эта поддержка отключена по
умолчанию, можно включить или отключить ее с помощью команды cmd /v. - Работа с расширениями команды
При включенных расширениях команды (установлено по умолчанию) и выполнении команды
set без значений, на экран выводятся все текущие переменные среды. Если же
выполняется команда set со значением, отображаются переменные, соответствующие
этому значению. - Использование команды set в пакетных файлах
При создании пакетных файлов, используйте команду set для создания переменных и
использовании их в качестве числовых переменных от %0 до %9. Также можно
использовать переменные от %0 до %9 как ввод для команды set. - Обращение к переменным команды set из пакетных программ
При обращении к переменной из пакетной программы имя переменной должно быть заключено в
знаки процентов (%). Например, если в пакетной программе создается переменная BAUD, с ней
может быть связан заменяемый параметр путем использования имени %baud% в командной
строке.
Что это за упомянутые ранее операторы объединения команд?
Это операторы &, && и ||. Они практически совсем не освещены в документации, но полезны в повседневности. Они позволяют объединять несколько команд в одну, т.е. примерно так:
command1 & command2 command1 && command2 command1 || command2 |
Форма этих операторов весьма соответствует их содержанию. В случае, пожалуй, наименее полезного оператора & вторая команда будет просто выполнена после первой, т.е. это равносильно простой записи:
command1 command2 |
Оператор && гарантирует, что вторая команда будет выполнена только, если первая была выполнена успешно, т.е. с нулевым кодом возврата (он же %errorlevel%). Такие конструкции очень популярны в мире shell-сценариев Unix. Например:
cd sources && make clean |
Я был приятно удивлен, узнав, что cmd.exe тоже умеет выполнять такие конструкции. Это безопаснее и правильнее, нежели простое последовательное выполнение этих команд, и короче и проще, чем строгая проверка и обработка кодов возврата. Очень удобно при написании на скорую руку. Не менее полезен иногда и оператор ||. Суть его тоже логична – выполнить вторую команду, если первая дала сбой. Часто встречается в таких идиомах:
cd sources || exit 1 |
Если перейти в каталог sources не удастся, то будет произведен выход с кодом ошибки 1. Если же первая команда отработает нормально, то вторая выполнена не будет. Например, такая простейшая защита помогла бы в случае с cd по UNC-адресу, описанному ранее.
Второй способ – программный
Если новички редко задействуют командный интерпретатор и довольствуются опциями блокнота, то более опытные пользователи (системные администраторы, создатели сборок ОС и ПО) предпочитают более комфортный метод для работы с файлами bat.
Он подразумевает использование специальной программы для создания bat-файлов и их редактирования. Она называется Dr.Batcher.
У её интерфейса и функционала мало отличия от «Блокнота». В основном меню устроены кнопки наиболее актуальных команд. Программа может:
- Нумеровать страницы.
- Поддерживать закладки.
- Содержать перечень системных операций.
- Подсвечивать синтаксис вводимых команд.
Сотворение bat-файла в ней происходит в такой последовательности:
- Запуск программы.
- Обращение к пункту «File». Затем нажимайте кнопку «New». После чего щёлкаете на символ чистого листа, находящийся под меню «File».
- В появившемся окне выбирается опция «Empty Batch File».
После этого появится окно программы с требующимися рабочими функциями. Указываете диапазон команд, который должен реализовывать файл. Он находится в левой стороне:
Сохраняйте документ в необходимой директории на вашем жёстком диске.
Здесь можно сразу и отредактировать файл. Для этого есть несколько вариантов:
Первый: связан с вызовом контекстного меню bat-файла. Здесь выпадает определённый перечень функций. Выбирается пункт под названием «Edit with Dr.Batcher».
После этих действий запускается программное окно. В нём содержатся данные созданного ранее bat-файла. Можно вносить в них необходимые коррективы.
Второй: происходит в самой программе . Для этого она запускается, снова вызывается опция «File» из основного меню. Выпадает окно, в котором в данном случае интерес представляет пункт «Open».
Под обозначенным меню находится иконка папки, её следует щёлкнуть. Открывается диалоговое окно, позволяющее открывать файлы. В нём прописываете путь к интересуемому документу с разрешением bat и нажимайте «Открыть».
Этот файл открывается в программном окошке и становится доступным для корректировок.
Использование графического интерфейса в операционных системах сегодня представляется чем-то само собой разумеющимся и совершенно естественным, но так было не всегда. Первая операционная система MS DOS, разработанная компанией Microsoft, не имела GUI, а управление выполнялось посредством ввода текстовых команд. С тех пор минуло без малого 40 лет, однако скриптовый язык командной строки по-прежнему пользуется популярностью, причём не только в среде разработчиков.
Командная строка не столь удобна, зато с её помощью можно выполнять недоступны из GUI операции. С другой стороны, запускать каждый раз консоль, вводить в неё одну за другой команды – всё это сильно замедляет работу. Впрочем, можно существенно упростить задачу, создав бат-файл или попросту батник – текстовый файл с расширением BAT, содержащий список инструкций, обрабатываемых командным интерпретатором CMD. Используются такие файлы для автоматизации разных задач, например, для удаления временных файлов по расписанию или запуска программ.
Как из BAT сделать EXE
В этой статье речь пойдет о двух инструментах одного и того же разработчика, первый из которых — программа для Windows, а второй — онлайн-инструмент. Оба инструмента предназначены для конвертации пакетных файлов BAT в исполняемый файл EXE.
Конвертер BAT to EXE
Конвертер Bat to Exe — это бесплатная программа для операционной систем Windows. Этот инструмент доступен отдельно для 32-разрядных и 64-битных платформ и поставляется в портабельной версии (не требующей установки) и устанавливаемых форматах.
Скачать программу вы можете с официального сайта по этой прямой ссылке.
Он поставляется с большим количеством примеров «bat» файлов, которые вы можете конвертировать в исполняемые файлы. Работа с этим инструментом не составит труда. Все, что вам необходимо сделать, это запустить приложение и выбрать пакетный файл. И в конце выбрать, место куда хотите сохранить преобразованный exe-файл.
Конвертер BAT to EXE
Существует множество настроек, которые можно настроить для точной настройки запуска вашего EXE-файла. Прежде всего, вы можете определить видимость своего приложения. EXE-файл может быть запущен в скрытом режиме или видимом. Вы также можете определить рабочий каталог. А также выбрать, должно ли приложение запускаться в текущем каталоге или в директории временных файлов.
Если ваш скрипт генерирует некоторые временные файлы, вы можете удалить их после завершения сценария. Таким образом, вы можете включить удаление при выходе или отключить его в соответствии с вашими потребностями.
Bat to Exe Converter также позволяет шифровать ваш EXE с помощью пароля. Шифрование позволяет защитить ваш файл.
Помимо этих функций, вы также можете указать архитектуру 32 или 64 бит. Вы можете скомпилировать разные сценарии для разных архитектур и распределить их по отдельности. Кроме того, если ваш скрипт требует прав администратора, вы можете добавить манифест администратора в exe-файл.
Конвертер BAT to EXE
Есть еще несколько других функций. Вы можете включить «Перезаписать существующие файлы», чтобы EXE автоматически перезаписывал существующие файлы. Кроме того, вы также можете включить сжатие EXE с помощью UPX.
Большинство исполняемых скриптов используют некоторые внешние файлы для выполнения своих функций. Если ваш сценарий является одним из них, вы можете перейти на вкладку «Включить» и выбрать все файлы, которые использует ваш сценарий.
Вкладка «Информация» позволяет указать информацию о версии и выбрать значок для EXE-файла.
Конвертер BAT to EXE онлайн
Версия BAT to EXE онлайн работает так же хорошо, но сервис предлагает меньше настроек. Онлйан-версия может быть полезна в случае, если вы хотите конвертировать ваш файл на ходу или если вы просто не собираетесь использовать много настроек.
Все, что вам нужно сделать, это перейти на сайт и загрузить файл «bat». Затем выбрать несколько вариантов преобразования. Вы можете настроить видимость, архитектуру, а также включить манифест администратора, если ваш скрипт содержит команды, требующие прав администратора.
Конвертер BAT to EXE онлайн
В онлайн-версии конвертера вы также можете указать пароль для защиты вашего EXE-файла. Другие настройки, такие как информация о версии, значок и языковые настройки, пока недоступны.
После выполнения настроек вы можете нажать кнопку «Конвертировать» и загрузить EXE-файл. Окончательный загружаемый файл доступен в зашифрованном ZIP-файле.
Онлайн-версия может быть полезна, если необходимо быстро конвертировать файлы. Но если вы хотите использовать больше настроек, я бы рекомендовал программу для Windows, о которой я рассказал выше.
Основные операторы Bat-файла
@ | Все выполняемые bat команды выводятся на экран, чтобы убрать лишнее, перед командой ставится «собака». Часто используется с @echo off. |
set | Задает переменные. Например, setper=c:\windows здесь per присваиваем путь. В переменную можно записать громоздкое значение и указать ее в сценарии, что сделает код компактнее. Если ее содержание изменится, тогда не придется менять везде значения, где предусмотрена эта переменная. |
:: | Один из двух методов комментирования в bat файле без вывода этой строки на экран. |
:LABEL | При добавлении к слову двоеточия, создается метка, которая позволяет перейти к разным разделам батника. Метка может носить другое название, LABEL это пример. |
CALL | Bat команда, вызывающая один пакетный файл в другом. Все параметры, описанные в одном из файлов, могут быть переданы друг другу. |
CHOICE | Команда выбора. |
CLS | Очищает содержимое командного интерпретатора, что выведено на экран выше CLS. |
ECHO | Выводит сообщение на экран. Например, «ECHO Как дела!» выведет «Как дела!». Если не использовать @ECHO off в начале пакетного файла, тогда Вы увидите путь к bat файлу и два сообщения, что является излишним. Вы можете создать пустую строку введите ECHO. с точкой в конце. |
EXIT | Завершает текущий пакетный сценарий. |
GOTO LABEL | Используется для перехода к определенной метки, в данном случае к LABEL и исполняет сценарий после нее. |
IF | Как и в языках программирования batкоманда ifолицетворяет выполнение условия, в зависимости от которого сценарий пойдет по тому или иному пути. С синтаксисом знакомьтесь в справке. |
for | Цикл, используемый для организации выполнения одних и тех же действий. |
PAUSE | Если необходимо ознакомиться с результатом сценария, а он выполняется, и окно быстро закрывается, тогда используйте PAUSE. Она позволит посмотреть результат и завершить сценарий по нажатию любой кнопки. |
REM | Второй способ комментирования. В отличии от :: печатается на экране, если нет конструкции @ECHO off. |
SHIFT | Изменяет положение пакетных параметров в bat файле. |
START | Запускает программы, окна и т.д. Имеет множество атрибутов. |
Для более детального описания кода bat файлов читайте справку по Windows
Сохранение
Вышеупомянутый скрипт выводит на экран текст «Добро пожаловать в сценарий пакетной обработки!». Электронный документ необходимо записать, выбрав пункт меню текстового редактора «Файл», «Сохранить как», а затем указать желаемое имя bat-файла. Его следует завершить расширением .bat (например, welcome.bat) и нажать «ОК». Для правильного отображения кириллицы в некоторых случаях следует удостовериться в правильном выборе кодировки. Например, при использовании консоли русифицированной системы Windows NT документ необходимо сохранить в CP866. Теперь следует дважды щелкнуть на ярлыке bat-файла, чтобы активировать его.
Но экране появится надпись:
«Добро пожаловать в сценарий пакетной обработки! Для продолжения нажмите любую клавишу…»
В случае если bat-файл не запускается, пользователи рекомендуют зайти в регистр и удалить ключ:
«HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerFileExts.BATUserChoice».
Не стоит думать, что это все, на что способны сценарии пакетной обработки. Параметрами скриптов являются измененные версии команд командной строки, поэтому пользователь ограничен только их возможностями. А они довольно обширные.
Start Bluestacks — как пользоваться на компьютере
Создание BAT-файла в Виндовс 7
Создать этот исполняемый файл может каждый пользователь, которые имеет соответствующие права на ПК. Нередко система блокирует подобные файлы автоматически, так как «батники» далеко не всегда являются безопасными для ОС. Соответственно необходимо озаботиться снятием запрета системы на выполнение .BAT файлов и предоставить доступ пользователю к запуску «батников».
Следует быть крайне внимательными, так как скаченные с подозрительных сайтов .BAT-файлы могут нанести вред системе, а также передать конфиденциальную информацию злоумышленникам. «Батники» умеют скрывать данные, создавать и удалять файлы, а также форматировать разделы. Давайте рассмотрим подробнее методы создания файлов .BAT.
Способ 1: С помощью Notepad++
Этот текстовый редактор, по сути, является аналогом обычного Блокнота, но при этом обладает десятками различных инструментов и более тонкими настройками.
- Наведите курсором на чистое место на рабочем столе и кликните ПКМ.
- В появившемся списке выберите пункт «Создать» и нажмите на раздел «Текстовый документ».
После этих действий на рабочем столе отобразится новый созданный документ. Желательно присвоить ему такое же название, которое будет у файла .BAT.
Кликните по текстовому документу ЛКМ и в появившемся меню выберите вариант «Edit with Notepad++». Теперь файл отобразится в расширенной версии редактора.
Прежде всего, следует указать правильную кодировку файла. Для этого нажмите на раздел «Кодировки», который находится в верхнем основном меню, и выберите вариант «Кириллица». Кодировку следует поменять на «OEM 866».
Код, который вы собираетесь использовать, требуется просто вставить в текстовое поле редактора. В статье для примера будет рассматриваться самая простая команда «shutdown.exe -r -t 00». С ее помощью осуществляется перезагрузка ПК, нули в коде – интервал задержки, который в данном случае нет необходимости использовать.
После вставки команды необходимо сделать из обычного файла исполняемый. Для этого нужно открыть раздел «Файл» и нажать на пункт «Сохранить как».
Перед вами отобразится Проводник, в котором требуется указать расположение и название документа. Файл будет находиться на рабочем столе, а в названии необходимо изменить тип файла. Выберите напротив соответствующей надписи вариант «Batch file». После этого к указанному названию документа прибавится приставка .BAT.
Нажмите на кнопку «Ок», чтобы на рабочем столе отобразился новый исполняемый файл. Он будет иметь внешний вид шестеренки.
Способ 2: Воспользоваться утилитой Блокнот
Тестовый редактор Блокнот не имеет такого количества функций, как предыдущее приложение, но для создания простейших исполняемых файлов вполне подходит. Инструкция практически ничем не отличается от предыдущего рассмотренного способа. Отличие заключается только в интерфейсе самого редактора.
- Создайте на рабочем столе текстовый документ и откройте его.
- Впишите необходимую команду, после чего нажмите на раздел «Файл» и выберите пункт «Сохранить как».
- Перед вами отобразится Проводник, с помощью которого необходимо изменить название документа. Допишите после имени файла слово «.BAT» и нажмите «Сохранить».
Оба описанных в статье текстовых редактора могут создавать файлы .BAT. Блокнот имеет менее насыщенный функционал в сравнении с приложением Notepad++, поэтому используется для создания более простых команд. С помощью последнего можно делать сложнейшие исполняемые файлы, указывать очередность, периоды и многое другое. Чтобы не возникали проблемы с доступом к файлам, старайтесь работать с «батниками» от имени администратора ПК. Помните, что используя сложные команды можно автоматизировать практически любые процессы в ОС.
Проверяем результат
В начале статьи мы уже упоминали, как правильно нужно запускать такие файлы. Теперь необходимо это применить на практике. Запускаем с применением админ. прав, и смотрим на результат.
Как только вы нажмете на любую клавишу, запустится второй сценарий. Вы увидите полный список всех папок на диске С, отображены будут даже системные и скрытые.
Окончание работы с bat файлом
Нажав ещё раз, документ закроется. Можно считать процедуру завершенной.
Использование графического интерфейса в операционных системах сегодня представляется чем-то само собой разумеющимся и совершенно естественным, но так было не всегда. Первая операционная система MS DOS, разработанная компанией Microsoft, не имела GUI, а управление выполнялось посредством ввода текстовых команд. С тех пор минуло без малого 40 лет, однако скриптовый язык командной строки по-прежнему пользуется популярностью, причём не только в среде разработчиков.
Командная строка не столь удобна, зато с её помощью можно выполнять недоступны из GUI операции. С другой стороны, запускать каждый раз консоль, вводить в неё одну за другой команды – всё это сильно замедляет работу. Впрочем, можно существенно упростить задачу, создав бат-файл или попросту батник – текстовый файл с расширением BAT, содержащий список инструкций, обрабатываемых командным интерпретатором CMD. Используются такие файлы для автоматизации разных задач, например, для удаления временных файлов по расписанию или запуска программ.
Как отправить сообщение из bat-файла
Когда пакетный файл исполняется на одной из машин в сети, то удобно проинформировать администратора об окончании его выполнения при помощи сообщения, отправленного на машину администратора. Сделать это можно, включив в пакетный файл команду
net send name Message text
Где name имя машины или пользователя, которому адресуется сообщение, а Message text — текст сообщения. После выполнения этой команды пользователю name будет отправлено сообщение.
Обратите внимание на то, что при использовании в тексте сообщения кириллицы текст должен быть набран в кодировке MS-DOS (866 кодовая страница). Иначе сообщение придет в виде нечитаемых символов
Набрать текст в кодировке DOS можно при помощи любого текстового редактора, поддерживающего эту кодировку. Это может быть, например, FAR. Откройте в FAR пакетный файл на редактирование (F4) и нажмите кнопку F8. В верхней строке редактора должна быть указана кодировка DOS, а снизу, у подсказки о быстрых клавишах, у клавиши F8 должна быть надпись Win, говорящая о том, что текущая кодировка DOS и для переключения в кодировку Win надо нажать F8.
Организатор
Если загружать по несколько файлов в день, то в скором времени в папке «Загрузки» их скопятся сотни. Можно создать скрипт, который упорядочит их по типу. Достаточно поместить .bat-файл с программой в папку с неорганизованными данными и дважды щелкнуть для запуска:
rem Каждый файл в папке
rem проверить на наличие расширения и непринадлежность к данному скрипту
rem проверить наличие папки для каждого расширения, и если ее нет, то создать
rem переместить файл в папку
В итоге файлы в директории «Загрузки» сортируются по папкам, названия которых соответствуют их расширению. Это так просто. Данный пакетный скрипт работает с любым типом данных, будь то документ, видео или аудио. Даже если ПК не поддерживает их, сценарий все равно создаст папку с соответствующей меткой. Если уже есть каталог JPG или PNG, то программа просто переместит туда файлы с данным расширением.
Это простая демонстрация того, на что способны пакетные скрипты. Если какую-то несложную задачу необходимо выполнять снова и снова, будь то упорядочение файлов, открытие нескольких веб-страниц, массовое переименование или создание копий важных документов, пакетный сценарий поможет выполнить утомительную работу за пару кликов.
Для работы с bat-файлами для удобства будем использовать программу FAR.
Небольшое отступление. Те, кому FAR использовать ну совсем не хочется, могут воспользоваться командной строкой Windows: Пуск->Выполнить-> ввести команду cmd Перед вами появится командное окно — эмулятор системы MS DOS.
Для тех, кому работать с GUI приятнее запускает программу FAR Manager.
Alt F1 (F2) — выбрать диск в левой (правой) панели
Вверх/вниз — перемещение по дереву каталогов
F7 — создать каталог
Shift F4 — создать файл
F4 — редактировать выделенный файл (F8 – для смены кодировки)
F3 — просмотр выделенного файла (F8 – для смены кодировки)
Enter — зависит от того, где установлен курсов и введена ли команда внизу экрана. Если введена команда — она будет выполнена. Если курсор установлен на имени каталога — мы “зайдем” в каталог. Если на “..” — “поднимемся” на каталог выше. Если курсор стоит на имени файла — результат нажатия Enter’a будет аналогичен двойному щелчку мыши в “Проводнике”.
Ctrl O показать экран с результатами команд.
Ctrl вверх/вниз — показать область ввода команд (удобно для отладки)
Основные команды, примеры использования BAT-файлов
Принцип создания батников прост и понятен, но основные сложности связаны с его содержимым – без команд такой файл бесполезен. Самый простой и, кстати, наиболее часто используемый пример команды – это уже рассмотренный нами запуск программ, или команда start. Её полный синтаксис занимает несколько строк, при желании вы сможете ознакомиться с ним, отыскав соответствующие инструкции. Мы же пока рассмотрим, как можно автоматизировать простой запуск трёх программ, которые вы используете в своей ежедневной работе. Пускай это будут Chrome, VLC и Total Commander.
Создадим пакетник, который последовательно запустит все три программы с пятисекундной задержкой.
Батник будет иметь вид:
Зачем нужны пустые кавычки, вы уже знаете. Команда timeout с параметром /t указывает временной интервал до запуска следующей команды.
Если бы в пути не было папок с пробелами, их можно было бы указывать без кавычек.
Стандартный способ выполнения этого BAT-файла предполагает, что при выполнении скрипта будет открыто три окна консоли, которые закроются автоматически, как только отработка команды завершится. Но существует способ запуска команд старт в одном окне терминала. Для этого сразу после директивы start добавляется параметр /b, и только затем – всё остальное.
Иногда для запуска программ через батник, требуется реакция пользователя, то есть он должен сам решать, когда должна стартовать следующая программа. В таких случаях вместо timeout ставят директиву pause без параметров, в результате чего после запуска каждой программы будет появляться сообщение «Нажмите любую клавишу для продолжения».
Ещё один интересный пример – скрипт, запуск которого приведёт к выключению или перезагрузке компьютера. Основной командой будет shutdown с параметрами, но будет и ряд вспомогательных директив, которые нужно знать, ибо они могут оказаться полезными и в других случаях.
Пример такого скрипта:
Первая директива указывает, что при выполнении команд они не должны выводиться на экран. Со второй строкой всё понятно – мы хотим использовать кириллические символы. Команда echo служит для вывода содержимого параметра в кавычках на монитор. Действие директивы pause вам тоже известно. Наконец, команда shutdown инициирует выключение ПК (если указан параметр /s) или его перезагрузку (/r), а параметр /t задает задержку в секундах перед выполнением команды.
В принципе для выполнения основного действия достаточно пятой строки, без использования предыдущих четырёх.
Иногда, несмотря на присутствие директивы chcp 1251, кириллические символы выводятся крякозябрами. Попробуйте в таких случаях использовать кодировку ANSI.
В BAT-файлах часто используют команды, предназначенные для работы с файловой системой.
Так, команду del можно использовать для удаления папок и/или файлов, её аналогом является команда erase. Среди используемых параметров отметим следующие:
- /p – указывает, что перед удалением файла/каталога нужно ответить утвердительно на запрос системы;
- /f – удаление даже тех файлов, которые имеют атрибут «только для чтения»;
- /s – удаление каталога вместе с внутренним содержимым, всеми подкаталогами и файлами;
- /q – удалять файлы, не спрашивая подтверждения.
Очень полезная команда, позволяющая автоматизировать создание резервных копий важных каталогов посредством копирования папки в указанное место вместе со всеми подкаталогами:
В результате выполнения команды папка data будет скопирована в каталог backup1, размещённый на другом логическом диске, вместе со всем содержимым. И у этой команды имеется множество параметров, позволяющих настраивать работу скрипта достаточно гибко.
Как переименовать файлы по маске из пакетного файла
Иногда возникает необходимость переименовать все файлы в папке по шаблону из пакетного файла. Сделать это можно при помощи следующей команды в bat-файле:
for /f "tokens=*" %%a in ('dir /b PATH\*.*') do ren PATH\%%a Prefix%%a
В этой строке надо заменить PATH\ на путь к файлам, которые будут переименованы, а Prefix на те символы, которые будут добавлены к имени файла при переименовании.
Не помещайте пакетный файл в папку, где происходит переименование, иначе он будет переименован тоже. Если в папке, где происходит переименование файлов есть подпапки, то к имени подпапки также будет добавлен префикс, т.е. подпапки будут переименованы как и файлы.
Если указать определенную маску для типов файлов, которые подлежат переименованию, например, *.txt, а не *.* как в примере, то будут переименованы файлы только указанных типов. Другие файлы и папки переименовываться не будут.
Второй вариант:
set thePATH=C:\test for %%I in (*.txt) do ren "%thePATH%\%%~nxI" "%%~nI.dat"
Как отключить вывод на экран команд при выполнении пакетного файла
При выполнении пакетного файла на экран, помимо результатов работы команды, выводятся и сами команды. Чтобы отключить вывод команд, можно использовать символ @.
Чтобы не выводить на экран одну команду, можно поставить знак @ в начале этой команды.
echo Testing
Эта команда выведет на экран команду echo Testing, а на следующую строку — результат ее работы, слово Testing.
@echo Testing
Эта команда выведет на экран только результат работы команды, т.е. слово Testing. Сама команда выведена не будет.
Если на протяжении выполнения всего файла выводить команды на экран не нужно, то проще первой строкой в пакетном файле написать следующую команду:
@echo off
Эта команда отключит вывод команд на экран на протяжении выполнения всего пакетного файла. Чтобы сама команда не выводилась, она начинается с символа @.