Андрей Смирнов
Время чтения: ~33 мин.
Просмотров: 1

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

bg2.pngГлавнаяКаталог статей сайтаОперационные системыСтатьи для WindowsСоздание BAT файловОглавление02 апреля 2010 г.

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

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

4_bat_save.png

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

Теперь перейдем непосредственно к практической информации. В сети многие ищут ответ на вопрос Как быть с пробелами в BAT файлах?. В путях к папкам и исполняемым файлам наличие пробела вызывает ошибку. Самый распространенный ответ: Заключи путь в кавычки. И этот ответ не верен. Правда некоторые будут с пеной у рта утверждать, что он работает. Итак, появилось два почемупочему не верен и почему некоторые будут.

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

start firefox

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

start firefox C:Program FilesMozilla Firefoxfirefox.exe

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

start filezilla

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

start D:FileZillaFileZilla.exe

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

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

start C:Program FilesSound Clubscw.exe

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

Program Files - Progra~1  Sound Club - SoundC~1  start C:Progra~1SoundC~1scw.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 FilesSound Clubscw.exe"

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

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

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

start "" "C:Program FilesSound Clubscw.exe"

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

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

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

%SystemDrive%  cd Program FilesSound Club  start scw.exe

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

start firefox  start jetaudio  rem start defraggler

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

start firefox  start jetaudio  rem start defraggler  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

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

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

start /min D:FileZillaFileZilla.exe  exit

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

start /?

Консоль выведет на экран перечень допустимых ключей c комментариями для команды start.

8_cmd_start.png

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

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

start Sleep.exe 15

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

/S  /s  /q  /silent  и ряд других

В ряде случаев бывает очень удобно. Антивирус Avast имеет опцию тихой установки в корпоративной версии. В бесплатной (домашней) версии тихой установки якобы нет. Однако, если вы в курсе как работает инсталятор InstallShield, вы поймете, что это утка, так как этот инсталятор сам по себе поддерживает ключ тихой установки /S. А значит все продукты, выполненные на его базе — тоже. И Avast не исключение. Просто создаете в папке с Avast’ом BAT файл с содержанием

start avast.exe /S  exit

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

Есть и другие возможности по управлению программами при помощи BAT файлов. Можно запустить программу, приказав ей открыть файл при запуске. Я пользуюсь этим способом при разработке сайтов. Очень удобно, когда весь твой инструментарий открывает нужные документы и папки нажатием всего одной кнопки:

rem соединение с ftp-сервером  start /min D:FileZillaFileZilla.exe "ftp://логин:пароль@сервер"    rem открытие index.php в Firefox  start C:"program files""mozilla firefox"firefox.exe "http://localhost/папка_сайта/index.php"    rem открытие start.html в текстовом редакторе  start /min C:"Program Files"текстовой_редактор.exe "E:серверпапка_сайтаindex.html"    rem открытие папки с файлами сайта  start /min E:серверпапка_с_сайтом    rem выход из консоли  exit

Отмечу, что все вышеописанные приемы можно применять в различных комбинациях и сочетаниях.

start /min /wait program.exe /m /S  start C:Directoryprogram2.exe "C:Filesfile.odt"  exit

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

start C:"program files""mozilla firefox"firefox.exe "http://localhost/папка_сайта/index.php"

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

Наткнулся ещё на один конвертер BAT в EXE, можете рассмотреть в качестве альтернативы предыдущей программе: Advanced Bat To Exe Converter

На этом всё.

Читать далее:

Все статьи по теме

Если материалы сайта оказались для вас полезными, можете поддержать дальнейшее развитие ресурса, оказав ему (и мне ) моральную и материальную поддержку.

Похожие статьиBat файлы, примеры

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

17 января 2017 г.Работа в командной строке Windows

В принципе в командной строке Windows всё просто. Любой, кто умеет печатать, сможет без труда работать в ней. Но для человека непосвященного командная строка может показаться сложной. Чтобы без проблем освоиться, надо знать основные команды и общие правила работы.

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

30 июня 2011 г.Тихая установка приложений (silent install)

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

К минусам тихой установки можно отнести всякие панели в обозревателях и ярыки типа E-Bay на рабочем столе, поскольку чаще всего подобные бонусы включены в установку по-умолчанию. Но это скорее исключение, хотя и не редкое. Подробно о тихой установке читайте в этой статье. 

24 сентября 2010 г.

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

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

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

  • повседневная работа с файлами и папками (а именно процессы по их перемещению, копированию, удалению или изменение их названий/имен), иногда наспех созданные данные нужно пронумеровать в строгой последовательности, и если каждым из них заниматься по отдельности, можно потратить не один час на такую «гульню»;
  • регулярно используют для создания резервных копий;
  • сюда же относятся процессы архивации и подобное.

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

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

Важно! Пакетные файлы также могут встречаться с расширением *.cmd. Итоговые задачи и цели у них идентичны, поэтому не стоит бить тревогу, если поисковик будет выкидывать вам его.

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

Возможно вас заинтересует:  Как сделать кроссворд на компьютере

Очень важно правильно запустить программу. Это ваш гарант на успешное выполнение предстоящей работы в целом, несмотря на то, работаете вы с обычными файлами, с системными данными операционной системы, или архивами (*.rar, *.zip и другими).

Важно! Запускать всегда необходимо от имени администратора компьютера!

Запуск от имени администратора

Выполнение этой задачи требует соблюдения двух основных правил:

На компьютере всегда использовать только учетную запись – «Администратор.

Использование уч. записи – «Гость» — для этого не подходит! Проверить можно, зайдя в «Панель управления», потом выбрав – «Учетные записи пользователей», затем – «Управление» или «Изменение параметров». Результат должен быть таким же, как на скриншоте.

Выбор нового типа учетной записи

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

Запускать «Батники» строго через контекстное меню.

Левой кнопкой мыши выделяете иконку с расширением «бат», затем вызываете контекстное меню правой кнопкой, и нажимаете на запуск от имени «Администратора».

Запуск bat-файла через контекстное меню

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

Важно! Название « Батники» они получили от своего расширения. Поисковиками находятся без проблем.

На сегодня существует только один метод для правильного создания, вам потребуется:

  • заготовленный перечень специальных команд Бат-файлов;
  • электронный блокнот, стандартная программа на вашем ПК;

Электронный блокнот

  • найти и скачать программу «Notepad++», на просторах Интернета (приложение бесплатное, скачивать лучше с официального сайта).

Notepad++

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

Самый важный этап, к которому можно приступать только после установки Нотпад плюс плюс. Абсолютно не важно, будете вы использовать англ. версию или рус. Делайте выбор на свое личное усмотрение.

  1. В папке или на рабочем столе создаете текстовый документ (с разрешением *.txt) через контекстное меню. Имя файла может быть любым, главное расширение оставить без изменений.

    Создание текстового документа

    Наименование документа

  2. Созданный новый документ открываете через программу Нотпад. Сделать это можно, щелкнув по нему правой мышкой, затем выбрать – «Открыть с помощью», из списка выбрать нужную программу.

Создание текстового документа через файл программы Notepad++

После открытия программы, первым делом необходимо зайти в «Кодировки», еще раз выбрать – «Кодировка», затем – «Кириллица», где необходимо выбрать именно «ОЕМ866».

Настройка программы Notepad++ — выбор кодировки

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

Самая простая команда

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

Дальше у вас есть два варианта как можно сохранить. На практике используют оба варианта, разница только в нескольких дополнительных действиях. В первом варианте вы нажимаете на крестик программы и подтверждаете сохранение изменений в документе. Затем документ открываете в обычном «Блокноте» и пересохраните в БАТ. Делается таким образом:

Нажимаем «Сохранить как»

Сохранение бат файла

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

Определение расширения файла вручную

Второй вариант: проделать точно такое же пересохранение через использование программы Notepad++.

Пересохранение файла

У вас должен появиться ещё один файл, внешний вид которого должен быть таким же, как на скриншоте.

Новая форма bat файла

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

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

Запуск документа в командной строке

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

Окончание работы с bat файлом

Нажав ещё раз, документ закроется. Можно считать процедуру завершенной.

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

Данной статьей мы продолжаем серию материалов о командной строке. В этой статье вы узнаете о том, как создать BAT файл и как его использовать.

Что такое BAT файл

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

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

Создаем BAT файл

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

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

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

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

Кликните правой кнопкой мышки по BAT файлу и выберите пункт «Изменить». После этого запустится редактор Блокнот, в котором вы сможете отредактировать ваш 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-файл вы знаете, теперь настала пора самого интересного, а именно синтаксиса языка интерпретатора 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 перезагружает компьютер без традиционной задержки в одну минуту. Если не желаете церемониться с запросами и паузами, можете оставить только пятую команду.

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

Что ещё можно делать с помощью скриптов? Много чего, например, удалять, копировать или перемещать файлы. Допустим, у вас есть некая папка 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». Несмотря на то, что с момента издания книги прошло более десяти лет, содержащаяся в ней информация до сих пор актуальна.

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

Автоматизация – это просто

Как создать bat-файл? Для этого нужно выполнить следующие действия:

  1. В любом текстовом редакторе, например, в Notepad или WordPad, создать текстовый документ.
  2. Записать в нем свои команды, начиная с @echo [off], а затем (каждый раз в новой строке) – title [название пакетного скрипта], echo [сообщение, которое будет выведено на экран] и pause.
  3. Сохранить текст в электронном документе с расширением.bat (например, test.bat).
  4. Для запуска следует дважды щелкнуть по только что созданному пакетному файлу.
  5. Чтобы его отредактировать, необходимо кликнуть на нем правой кнопкой мыши и из контекстного меню выбрать пункт «Изменить».

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

@echo off

title Это ваш первый скрипт bat-файла!

echo Добро пожаловать в сценарий пакетной обработки!

pause

Более подробно о командах bat-файлов и их использовании речь пойдет ниже.

Шаг 1: создание программного скрипта

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

Создание нового текстового документа

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

Добавление кода

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

Сохранение

Вышеупомянутый скрипт выводит на экран текст «Добро пожаловать в сценарий пакетной обработки!». Электронный документ необходимо записать, выбрав пункт меню текстового редактора «Файл», «Сохранить как», а затем указать желаемое имя bat-файла. Его следует завершить расширением .bat (например, welcome.bat) и нажать «ОК». Для правильного отображения кириллицы в некоторых случаях следует удостовериться в правильном выборе кодировки. Например, при использовании консоли русифицированной системы Windows NT документ необходимо сохранить в CP866. Теперь следует дважды щелкнуть на ярлыке bat-файла, чтобы активировать его.

Но экране появится надпись:

«Добро пожаловать в сценарий пакетной обработки! Для продолжения нажмите любую клавишу…»

В случае если bat-файл не запускается, пользователи рекомендуют зайти в регистр и удалить ключ:

«HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerFileExts.BATUserChoice».

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

Шаг 2: знакомство с некоторыми командами

Если пользователь ПК знаком с тем, как следует выполнять команды консоли DOS, то он будет мастером создания программных скриптов, потому что это один и тот же язык. Строки в bat-файлах сообщат интерпретатору cmd.exe все, что от него требуется. Это экономит время и силы. Кроме того, есть возможность задать некоторую логику (например, простые циклы, условные предписания и т. д., которые концептуально схожи с процедурным программированием).

Встроенные команды

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

2. Title предоставляет те же возможности, что и тег <titltml>

3. Call вызывает один bat-файл из другого или подпрограмму внутри одного сценария. Например, функция power вычисляет степень %2 числа %1:

@echo off

call :power 3 3

echo %result%

goto :eof

:power

setlocal

set counter=%2

set prod=%1

:loop

if %counter% gtr 1 (

set /a prod*=%1

set /a counter-=1

goto :loop

)

endlocal & set result=%prod%

goto :eof

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

5. Color задает цвет шрифта и фона. Например, команда color f9 задает белые буквы на синем фоне. Команда без параметра восстанавливает установки по умолчанию.

6. Echo служит для вывода информации, а также включения (echo on) или выключения (echo off) такого вывода. Например, команда echo. выводит новую строку без точки, а echo . – точку. Без параметров команда выводит на экран информацию о своем текущем статусе – echo on или echo off.

7. Rem обеспечивает ту же функциональность, что и тег

8. Pause позволяет прервать выполнение команд bat-файла. Это дает возможность прочесть выполненные строки перед продолжением программы. При этом на экран выводится сообщение «Для продолжения нажмите любую клавишу…».

9. Set позволяет просмотреть или установить переменные окружения. С ключом /p команда запрашивает у пользователя ввод и сохраняет его. С параметром /а она дает возможность выполнять простые арифметические операции, также присваивая их результат переменной. При операциях со строками не должно быть пробелов ни до, ни после знака равенства. Например, команда set выводит на дисплей список переменных окружения, set HOME – значения аргументов, начинающихся с “HOME”, а set /p input=введите целое: запрашивает ввод целого числа и присваивает его соответствующей переменной.

10. Start «» [веб-сайт] запустит заданный веб-сайт в веб-браузере, используемом по умолчанию.

11. If служит для проверки определенного условия. Если оно истинно, то выполняется следующая за ним команда. Условия бывают 3 видов:

  • ERRORLEVEL число – проверка кода завершения последней выполненной инструкции на соответствие или превышение указанного числа. При этом 0 обозначает успешное выполнение задачи, а любое другое число, обычно положительное, сообщает об ошибке. Например, можно использовать вложенные команды для точного определения кода завершения: if errorlevel 3 if not errorlevel 4 echo произошла ошибка №3.
  • Строка1 == строка2 – проверка совпадения двух строк. Например, при отсутствии внешнего параметра команда if «%1″= =»» goto ERROR передаст управление метке ERROR.
  • EXIST имя – проверка существования файла с указанным именем. Например, if not exist A:program.exe COPY C:PROJECTSprogram.exe A: копирует программу program.exe на диск А, если ее там нет.

12. Else должна находиться в одной строке с командой If. Указывает на необходимость выполнения следующей инструкции, если выражение окажется ложным.

13. For используется для повторения определенных действий с каждым членом списка. Имеет формат for %%аргумент in (список) do команда. Аргументом может быть любая буква от A до Z. Список представляет собой последовательность строк, разделенных пробелами или запятыми. Подстановочные знаки также могут использоваться. Например:

  • for %%d in (A, C, D) do DIR %%d – последовательно выводит на экран директории дисков А, С и D;
  • for %%f in (*.TXT *.BAT *.DOC) do TYPE %%f – печатает содержимое всех .txt-, .bat- и .doc-файлов в текущей директории;
  • for %%P in (%PATH%) do if exist %%P*.BAT COPY %%P*.BAT C:ВАТ – копирует все пакетные файлы, которые существуют во всех каталогах маршрута поиска в папку С:ВАТ.

14. Двоеточие (:) перед словом образует из него ссылку, которая позволяет пропускать часть программного кода или возвращаться назад. Используется с командами Call и Goto, указывая, с какого места следует продолжать выполнение bat-файла, например, при выполнении определенного условия:

goto label

:label

15. Переменные:

  • %%a обозначает каждый файл в папке;
  • %CD% – текущая директория;
  • %DATE% – системная дата, формат которой зависит от локализации;
  • %TIME% – системное время в виде ЧЧ:ММ:СС.мм.;
  • %RANDOM% – сгенерированное псевдослучайное число в диапазоне от 0 до 32767;
  • %ERRORLEVEL% – код завершения, возвращаемый последней выполненной командой или bat-скриптом.

Извлечь часть строки, которая содержится в переменной, при известном ее положении и длине можно так:

%[переменная]:~[начало],[длина]%. Например, показать дату в формате ДД/ММ/ГГГГ как ГГГГ-ММ-ДД можно так: echo %DATE:~6,4%-%DATE:~3,2%-%DATE:~0,2%.

16. («. «) – корневая папка. При работе с консолью перед изменением имени файла, его удалением и т. д. необходимо направить действие команды в конкретный каталог. При использовании пакетного файла достаточно запустить его в любом нужном каталоге.

17. %цифра – принимает значения параметров, передаваемых пользователем в bat-файл. Могут разделяться пробелами, запятыми или двоеточиями. «Цифра» представляет собой число от 0 до 9. Например, %0 принимает значение текущей команды. %1 соответствует первому параметру и т. д.

18. Shift – команда, используемая для смещения входных параметров на одну позицию. Применяется, когда пакетному файлу передаются внешние аргументы. Например, следующий bat-файл копирует на диск D файлы, заданные в качестве параметров в командной строке:

:next

copy %1 D:

shift

if not (%1)==() goto next

Кроме того, с аргументами можно производить следующие манипуляции:

  • %~ – удалить окружающие кавычки;
  • %~f – расширить параметр до полного имени пути вместе с именем диска;
  • %~d – показать имя диска;
  • %~p – отобразить только путь;
  • %~n – выделить из параметра только имя файла;
  • %~x – оставить лишь расширение;
  • %~s – преобразовать путь в представление с короткими именами;
  • %~a – извлечь атрибуты файла;
  • %~t – вывести дату и время создания;
  • %~z – отобразить размер файла;
  • %~$PATH: – производит поиск в директориях, перечисленных в переменной окружения PATH, и расширяет параметр до первого найденного соответствующего полного имени или же выдает пустую строку в случае неудачи.

Подстановочные знаки

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

  • * (звездочка) – обозначает любую последовательность символов;
  • ? (знак вопроса) – заменяет один (или 0) знак, отличный от точки (.).

Например, команда dir *.txt выводит список txt-файлов, а dir ???.txt – перечень текстовых документов, длина имени которых не превышает 3 букв.

Функции

Как и подпрограммы, они эмулируются с помощью команд call, setlocal, endlocal и меток. Следующий пример демонстрирует возможность определения переменной, в которой сохраняется результат, в строке вызова:

@echo off

call :say result=world

echo %result%

exit /b

:say

set %1=Hello %2

exit /b

Вычисления

В bat-файлах можно выполнять простые арифметические операции с целыми 32-битными числами и битами с помощью команды set /a. Максимальным поддерживаемым числом является 2^31-1 = 2147483647, а минимальным – -(2^31) = -2147483648. Синтаксис напоминает язык программирования Си. К арифметическим операторам относятся: *, /, %, +, -. В bat-файле % (остаток целочисленного деления) должен вводиться как “%%”.

Операторы с двоичными числами интерпретируют число как 32-битную последовательность. К ним относятся: ~ (побитовое НЕ или дополнение), & (И), | (ИЛИ), ^ (исключающее ИЛИ), << (сдвиг влево), >> (сдвиг вправо). Логическим оператором отрицания является ! (восклицательный знак). Он изменяет 0 в 1 и ненулевое значение в 0. Оператором комбинирования служит , (запятая), которая позволяет производить большее число операций в одной команде set. Комбинированные операторы присваивания += и -= в выражениях a+=b и a-=и соответствуют выражениям a=a+b и a=a-b. Так же работают и *=, %=, /=, &=, |=, ^=, >>=, <<=. Приоритет операторов следующий:

(); %+-*/; >>, <<; &; ^; |; =, %=, *=, /=, +=, -=, &=, ^=, |=, <<=, >>=; ,

Литералы можно вводить в виде десятичных, шестнадцатеричных (с ведущими 0x) и восьмеричных чисел (с ведущим нулем). Например, set /a n1=0xffff присваивает n1 шестнадцатеричное значение.

Внешние команды

  • Exit используется для выхода из консоли DOS или (с опцией /b) только текущего bat-файла или подпрограммы.
  • Ipconfig – это классическая консольная команда, которая выводит информацию о сети. Она включает MAC- и IP-адреса, и маски подсети.
  • Ping пингует IP-адрес, отправляя к нему пакеты данных, чтобы оценить его удаленность и время ожидания (отклика). Также используется для задания паузы. Например, команда ping 127.0.01 –n 6 приостанавливает выполнение кода на 5 с.

Библиотека команд bat-файлов огромна. К счастью, в Сети есть множество страниц, в которых все они перечислены, наряду с переменными пакетного скрипта.

Шаг 3: запись и запуск bat-файла

Следующий скрипт намного упростит ежедневную онлайн-активность. Что делать, если есть желание мгновенно открыть все свои любимые новостные сайты? Поскольку скрипты используют команды консоли, то можно создать сценарий, который открывает каждую новостную ленту в одном окне браузера.

Далее следует повторить процесс создания bat-файла, начав с пустого текстового документа. Для этого необходимо щелкнуть правой кнопкой мыши на пустом месте в какой-либо папке и выбрать пункт «Создать», а затем – «Текстовый документ». После открытия файла требуется ввести следующий скрипт, который запускает основные русскоязычные средства массовой информации, доступные в Интернете:

@echo off

start «» http://fb.ru

start «» http://www.novayagazeta.ru

start «» http://echo.msk.ru

start «» http://www.kommersant.ru

start «» http://www.ng.ru

start «» http://meduza.io

start «» https://news.google.com/news/?ned=ru_ru&hl=ru

Данный скрипт содержит команды start “”, которые открывают несколько вкладок. Можно заменить предложенные ссылки любыми другими на выбор. После ввода скрипта следует зайти в меню редактора «Файл», а затем в «Сохранить как…» и записать документ с расширением .bat, изменив параметр «Тип файла» на «Все файлы» (*. *).

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

Организатор

Если загружать по несколько файлов в день, то в скором времени в папке «Загрузки» их скопятся сотни. Можно создать скрипт, который упорядочит их по типу. Достаточно поместить .bat-файл с программой в папку с неорганизованными данными и дважды щелкнуть для запуска:

@echo off

rem Каждый файл в папке

for %%a in («.*») do (

rem проверить на наличие расширения и непринадлежность к данному скрипту

if «%%~xa» NEQ «» if «%%~dpxa» NEQ «%~dpx0» (

rem проверить наличие папки для каждого расширения, и если ее нет, то создать

if not exist «%%~xa» mkdir «%%~xa»

rem переместить файл в папку

move «%%a» «%%~dpa%%~xa»

))

В итоге файлы в директории «Загрузки» сортируются по папкам, названия которых соответствуют их расширению. Это так просто. Данный пакетный скрипт работает с любым типом данных, будь то документ, видео или аудио. Даже если ПК не поддерживает их, сценарий все равно создаст папку с соответствующей меткой. Если уже есть каталог JPG или PNG, то программа просто переместит туда файлы с данным расширением.

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

</titltml></p>

Похожие статьи

Используемые источники:

  • https://nevor.ru/stati/operacionnye-sistemy/stati-dlya-windows/sozdanie-bat-fajlov
  • https://spravkapc.ru/nastrojka-kompyutera/kak-sozdat-fail-bat.html
  • https://comp-security.net/как-создать-bat-файл/
  • https://viarum.ru/kak-sozdat-bat-fayl-v-windows/
  • https://www.syl.ru/article/324915/komandyi-bat-faylov-kak-sozdat-bat-fayl-bazovyie-komandyi

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации