Как сделать файл бат. Как написать свой bat файл для создания резервной копии

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Сохранение

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

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

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

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

"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.BAT\UserChoice".

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

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

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

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

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

2. Title предоставляет те же возможности, что и тег в HTML, т. е. создает заголовок для пакетного скрипта в окне командной строки.</p><p>3. Call вызывает один bat-файл из другого или подпрограмму внутри одного сценария. Например, функция power вычисляет степень %2 числа %1:</p><p>if %counter% gtr 1 (</p><p>set /a counter-=1</p><p>endlocal & set result=%prod%</p><p><img src='https://i0.wp.com/syl.ru/misc/i/ai/324915/1862019.jpg' width="100%" loading=lazy></p><p>4. Cls очищает командную строку. Используется для того, чтобы предыдущий вывод постороннего кода на помешал просмотру хода выполнения текущего скрипта.</p><p>5. Color задает цвет шрифта и фона. Например, команда color f9 задает белые буквы на синем фоне. Команда без параметра восстанавливает установки по умолчанию.</p><p>6. Echo служит для вывода информации, а также включения (echo on) или выключения (echo off) такого вывода. Например, команда echo. выводит новую строку без точки, а echo . - точку. Без параметров команда выводит на экран информацию о своем текущем статусе - echo on или echo off.</p><p>7. Rem обеспечивает ту же функциональность, что и тег <! в HTML. Такая строка не является частью выполняемого кода. Вместо этого она служит для пояснения и предоставления информации о нем.</p><p>8. Pause позволяет прервать выполнение команд bat-файла. Это дает возможность прочесть выполненные строки перед продолжением программы. При этом на экран выводится сообщение «Для продолжения нажмите любую клавишу...».</p><p>9. Set позволяет просмотреть или установить переменные окружения. С ключом /p команда запрашивает у пользователя ввод и сохраняет его. С параметром /а она дает возможность выполнять простые арифметические операции, также присваивая их результат переменной. При операциях со строками не должно быть пробелов ни до, ни после знака равенства. Например, команда set выводит на дисплей список переменных окружения, set HOME - значения аргументов, начинающихся с “HOME”, а set /p input=введите целое: запрашивает ввод целого числа и присваивает его соответствующей переменной.</p><p>10. Start "" [веб-сайт] запустит заданный веб-сайт в веб-браузере, используемом по умолчанию.</p><p>11. If служит для проверки определенного условия. Если оно истинно, то выполняется следующая за ним команда. Условия бывают 3 видов:</p><ul><li>ERRORLEVEL число - проверка кода завершения последней выполненной инструкции на соответствие или превышение указанного числа. При этом 0 обозначает успешное выполнение задачи, а любое другое число, обычно положительное, сообщает об ошибке. Например, можно использовать вложенные команды для точного определения кода завершения: if errorlevel 3 if not errorlevel 4 echo произошла ошибка №3.</li><li>Строка1 == строка2 - проверка совпадения двух строк. Например, при отсутствии внешнего параметра команда if "%1"= ="" goto ERROR передаст управление метке ERROR.</li><li>EXIST имя - проверка существования файла с указанным именем. Например, if not exist A:\program.exe COPY C:\PROJECTS\program.exe A: копирует программу program.exe на диск А, если ее там нет.</li> </ul><p>12. Else должна находиться в одной строке с командой If. Указывает на необходимость выполнения следующей инструкции, если выражение окажется ложным.</p><p><img src='https://i1.wp.com/syl.ru/misc/i/ai/324915/1862021.jpg' width="100%" loading=lazy></p><p>13. For используется для повторения определенных действий с каждым членом списка. Имеет формат for %%аргумент in (список) do команда. Аргументом может быть любая буква от A до Z. Список представляет собой последовательность строк, разделенных пробелами или запятыми. Подстановочные знаки также могут использоваться. Например:</p><ul><li>for %%d in (A, C, D) do DIR %%d - последовательно выводит на экран директории дисков А, С и D;</li><li>for %%f in (*.TXT *.BAT *.DOC) do TYPE %%f - печатает содержимое всех.txt-, .bat- и.doc-файлов в текущей директории;</li><li>for %%P in (%PATH%) do if exist %%P\*.BAT COPY %%P\*.BAT C:\ВАТ - копирует все пакетные файлы, которые существуют во всех каталогах маршрута поиска в папку С:\ВАТ.</li> </ul><p>14. Двоеточие (:) перед словом образует из него ссылку, которая позволяет пропускать часть программного кода или возвращаться назад. Используется с командами Call и Goto, указывая, с какого места следует продолжать выполнение bat-файла, например, при выполнении определенного условия:</p><p>15. Переменные:</p><ul><li>%%a обозначает каждый файл в папке;</li><li>%CD% - текущая директория;</li><li>%DATE% - системная дата, формат которой зависит от локализации;</li><li>%TIME% - системное время в виде ЧЧ:ММ:СС.мм.;</li><li>%RANDOM% - сгенерированное псевдослучайное число в диапазоне от 0 до 32767;</li><li>%ERRORLEVEL% - код завершения, возвращаемый последней выполненной командой или bat-скриптом.</li> </ul><p>Извлечь часть строки, которая содержится в переменной, при известном ее положении и длине можно так:</p><p>%[переменная]:~[начало],[длина]%. Например, показать дату в формате ДД/ММ/ГГГГ как ГГГГ-ММ-ДД можно так: echo %DATE:~6,4%-%DATE:~3,2%-%DATE:~0,2%.</p><p>16. (". \") - корневая папка. При работе с консолью перед изменением имени файла, его удалением и т. д. необходимо направить действие команды в конкретный каталог. При использовании пакетного файла достаточно запустить его в любом нужном каталоге.</p><p>17. %цифра - принимает значения параметров, передаваемых пользователем в bat-файл. Могут разделяться пробелами, запятыми или двоеточиями. «Цифра» представляет собой число от 0 до 9. Например, %0 принимает значение текущей команды. %1 соответствует первому параметру и т. д.</p><p>18. Shift - команда, используемая для смещения входных параметров на одну позицию. Применяется, когда пакетному файлу передаются внешние аргументы. Например, следующий bat-файл копирует на диск D файлы, заданные в качестве параметров в командной строке:</p><p>if not (%1)==() goto next</p><p>Кроме того, с аргументами можно производить следующие манипуляции:</p><ul><li>%~ - удалить окружающие кавычки;</li><li>%~f - расширить параметр до полного имени пути вместе с именем диска;</li><li>%~d - показать имя диска;</li><li>%~p - отобразить только путь;</li><li>%~n - выделить из параметра только имя файла;</li><li>%~x - оставить лишь расширение;</li><li>%~s - преобразовать путь в представление с короткими именами;</li><li>%~a - извлечь атрибуты файла;</li><li>%~t - вывести дату и время создания;</li><li>%~z - отобразить размер файла;</li><li>%~$PATH: - производит поиск в директориях, перечисленных в переменной окружения PATH, и расширяет параметр до первого найденного соответствующего полного имени или же выдает пустую строку в случае неудачи.</li> </ul><p><img src='https://i2.wp.com/syl.ru/misc/i/ai/324915/1862020.jpg' width="100%" loading=lazy></p><h2>Подстановочные знаки</h2><p>Многие команды принимают шаблоны имен файлов - знаков, которые позволяют установить соответствие с группой имен файлов. К подстановочным знакам относятся:</p><ul><li>* (звездочка) - обозначает любую последовательность символов;</li><li>? (знак вопроса) - заменяет один (или 0) знак, отличный от точки (.).</li> </ul><p>Например, команда dir *.txt выводит список txt-файлов, а dir ???.txt - перечень текстовых документов, длина имени которых не превышает 3 букв.</p><h2>Функции</h2><p>Как и подпрограммы, они эмулируются с помощью команд call, setlocal, endlocal и меток. Следующий пример демонстрирует возможность определения переменной, в которой сохраняется результат, в строке вызова:</p><p>call:say result=world</p><p><img src='https://i1.wp.com/syl.ru/misc/i/ai/324915/1862022.jpg' width="100%" loading=lazy></p><h2>Вычисления</h2><p>В bat-файлах можно выполнять простые арифметические операции с целыми 32-битными числами и битами с помощью команды set /a. Максимальным поддерживаемым числом является 2^31-1 = 2147483647, а минимальным - -(2^31) = -2147483648. Синтаксис напоминает язык программирования Си. К арифметическим операторам относятся: *, /, %, +, -. В bat-файле % (остаток целочисленного деления) должен вводиться как “%%”.</p><p>Операторы с двоичными числами интерпретируют число как 32-битную последовательность. К ним относятся: ~ (побитовое НЕ или дополнение), & (И), | (ИЛИ), ^ (исключающее ИЛИ), << (сдвиг влево), >> (сдвиг вправо). Логическим оператором отрицания является! (восклицательный знак). Он изменяет 0 в 1 и ненулевое значение в 0. Оператором комбинирования служит, (запятая), которая позволяет производить большее число операций в одной команде set. Комбинированные операторы присваивания += и -= в выражениях a+=b и a-=и соответствуют выражениям a=a+b и a=a-b. Так же работают и *=, %=, /=, &=, |=, ^=, >>=, <<=. Приоритет операторов следующий:</p><p>(); %+-*/; >>, <<; &; ^; |; =, %=, *=, /=, +=, -=, &=, ^=, |=, <<=, >>=; ,</p><p>Литералы можно вводить в виде десятичных, шестнадцатеричных (с ведущими 0x) и восьмеричных чисел (с ведущим нулем). Например, set /a n1=0xffff присваивает n1 шестнадцатеричное значение.</p><h2>Внешние команды</h2><ul><li>Exit используется для выхода из консоли DOS или (с опцией /b) только текущего bat-файла или подпрограммы.</li><li>Ipconfig - это классическая консольная команда, которая выводит информацию о сети. Она включает MAC- и IP-адреса, и маски подсети.</li><li>Ping пингует IP-адрес, отправляя к нему пакеты данных, чтобы оценить его удаленность и время ожидания (отклика). Также используется для задания паузы. Например, команда ping 127.0.01 -n 6 приостанавливает выполнение кода на 5 с.</li> </ul><p>Библиотека команд bat-файлов огромна. К счастью, в Сети есть множество страниц, в которых все они перечислены, наряду с переменными пакетного скрипта.</p><p><img src='https://i1.wp.com/syl.ru/misc/i/ai/324915/1862017.jpg' width="100%" loading=lazy></p><h2>Шаг 3: запись и запуск bat-файла</h2><p>Следующий скрипт намного упростит ежедневную онлайн-активность. Что делать, если есть желание мгновенно открыть все свои любимые новостные сайты? Поскольку скрипты используют команды консоли, то можно создать сценарий, который открывает каждую новостную ленту в одном окне браузера.</p><p>Далее следует повторить процесс создания bat-файла, начав с пустого текстового документа. Для этого необходимо щелкнуть правой кнопкой мыши на пустом месте в какой-либо папке и выбрать пункт «Создать», а затем - «Текстовый документ». После открытия файла требуется ввести следующий скрипт, который запускает основные русскоязычные средства массовой информации, доступные в Интернете:</p><p>start "" http://fb.ru</p><p>start "" http://www.novayagazeta.ru</p><p>start "" http://echo.msk.ru</p><p>start "" http://www.kommersant.ru</p><p>start "" http://www.ng.ru</p><p>start "" http://meduza.io</p><p>start "" https://news.google.com/news/?ned=ru_ru&hl=ru</p><p>Данный скрипт содержит команды start “”, которые открывают несколько вкладок. Можно заменить предложенные ссылки любыми другими на выбор. После ввода скрипта следует зайти в меню редактора «Файл», а затем в «Сохранить как...» и записать документ с расширением.bat, изменив параметр «Тип файла» на «Все файлы» (*. *).</p><p>После сохранения для запуска скрипта достаточно дважды щелкнуть на нем. Веб-страницы мгновенно начнут загружаться. При желании можно разместить этот файл на своем рабочем столе. Это позволит получить мгновенный доступ ко всем любимым сайтам.</p><h2>Организатор</h2><p>Если загружать по несколько файлов в день, то в скором времени в папке «Загрузки» их скопятся сотни. Можно создать скрипт, который упорядочит их по типу. Достаточно поместить.bat-файл с программой в папку с неорганизованными данными и дважды щелкнуть для запуска:</p><p>rem Каждый файл в папке</p><p>for %%a in (".\*") do (</p><p>rem проверить на наличие расширения и непринадлежность к данному скрипту</p><p>if "%%~xa" NEQ "" if "%%~dpxa" NEQ "%~dpx0" (</p><p>rem проверить наличие папки для каждого расширения, и если ее нет, то создать</p><p>if not exist "%%~xa" mkdir "%%~xa"</p><p>rem переместить файл в папку</p><p>move "%%a" "%%~dpa%%~xa\"</p><p>В итоге файлы в директории «Загрузки» сортируются по папкам, названия которых соответствуют их расширению. Это так просто. Данный пакетный скрипт работает с любым типом данных, будь то документ, видео или аудио. Даже если ПК не поддерживает их, сценарий все равно создаст папку с соответствующей меткой. Если уже есть каталог JPG или PNG, то программа просто переместит туда файлы с данным расширением.</p><p>Это простая демонстрация того, на что способны пакетные скрипты. Если какую-то несложную задачу необходимо выполнять снова и снова, будь то упорядочение файлов, открытие нескольких веб-страниц, массовое переименование или создание копий важных документов, пакетный сценарий поможет выполнить утомительную работу за пару кликов.</p> <p>Люди, которым знаком термин батник, знают, что BAT файлы могут существенно упростить жизнь и экономить время, если уметь их правильно писать и использовать. В этой статье я расскажу о том, как создавать BAT файлы и познакомлю вас с распространенными ошибками, которые обычно возникают при их написании.</p><p>Создать BAT файл очень просто. Достаточно открыть блокнот и сохранить пустой лист с расширением .bat , выбрав опцию Сохранить как... и написав в поле Имя файла что-нибудь оканчивающееся на .bat , например test.bat . <br>Тип файла указываете как на скриншоте ниже - Все файлы . Сохраняете и получаете BAT файл.</p> <p>Редактировать BAT файл можно в блокноте или любом другом текстовом редакторе, ориентированным на работу с кодом.</p> <p>Теперь перейдем непосредственно к практической информации. В сети многие ищут ответ на вопрос Как быть с пробелами в BAT файлах? . В путях к папкам и исполняемым файлам наличие пробела вызывает ошибку. Самый распространенный ответ: Заключи путь в кавычки. И этот ответ не верен. Правда некоторые будут с пеной у рта утверждать, что он работает. Итак, появилось два почему - почему не верен и почему некоторые будут.</p> <p>На Windows (как, впрочем, и на UNIX) установленные в системе программы соответствующим образом регистрируются системой. Поэтому некоторые из установленных программ могут запускаться одной простой командой из BAT файла или из апплета Выполнить панели Пуск. Одной из таких программ является Firefox:</p> start firefox <p>Если после этой команды писать путь к исполняемому файлу, то происходит следующее: запускается обозреватель Firefox и пробует обработать запрос, то есть файл, путь к которому указан. То есть, если указать следующее:</p> start firefox C:\Program Files\Mozilla Firefox\firefox.exe <p>Обозреватель откроется, чтобы не было написано после start firefox . Именно поэтому некоторые товарищи будут уверять что все прекрасно работает. Однако, если взять портативную программу, то ситуация окажется совсем иная. Рассмотрим в качестве примера ftp-клиент Filezilla. Поскольку система не знает о программе, вышеупомянутая строчка</p> start filezilla <p>работать не будет. Чтобы запустить неизвестную системе программу, надо указать к ней путь:</p> start D:\FileZilla\FileZilla.exe <h2>Длинныe имена в bat-файлах</h2> <p>Теперь поговорим о путях и пробелах. Первый способ избежать этой проблемы - использование короткого имени.</p> start C:\Program Files\Sound Club\scw.exe <p>В примере два имени с пробелами. Заменим их короткими. Правила создания коротких имен следующие: в коротком имени используются первые шесть символов имени без учета пробелов, после имени указывают порядковый номер папки с помощью символа <b>~ </b>. Так как папки Program Files и Sound Club у меня в единственном числе, получится следующее:</p><p>Program Files - Progra~1 Sound Club - SoundC~1 start C:\Progra~1 \SoundC~1 \scw.exe </p><p>Если рядом будут присутствовать две папки, например Sound Club и Sound Clown , то следуя правилам, в примере выше надо будет указать SoundC~2 , так как в этом случае Sound Club окажется вторым именем (имена считаются в алфавитном порядке).</p> <p>Но этот способ неудобен тем, что приходится указывать порядковые номера. Ситуация с Program files более менее нормальная. Мало у кого встретится две подобные папки на системном диске. Но если вы решили установить несколько продуктов Mozilla на свой компьютер. У вас получится несколько папок, например:</p><p>Mozilla Firefox Mozilla Thunderbird Mozilla Sunbird </p><p>Короткими именами для них будут</p><p>Mozill~1 Mozill~2 Mozill~3 </p><p>А теперь представьте, что вы написали BAT файл с упоминанием этих программ. Если удалить Firefox, оставшиеся записи перестанут работать, а если удалить Thunderbird, перестанет работать запись для Sunbird. Короче, способ с короткими именами - не наш способ.</p> <h2>Пробелы и кавычки в bat-файлах</h2> <p>Кавычки на самом деле работают, но не с теми способами, которые обычно советуют. Советуют обычно следующее:</p> start "C:\Program Files\Sound Club\scw.exe" <p>Так команда не сработает, поскольку если посмотреть справку по ней (start /? ), то в справке вы увидите следующее:</p> START ["заголовок"] [команда/программа] [параметры] <p>Как видите, первым параметром идёт заголовок окна и он как раз в кавычках. Этот параметр необязательный, но его всё же советуют указывать (), чтобы избежать ошибок при выполнении команды. Внутри кавычек можно ничего не писать. Получится так:</p> start "" "C:\Program Files\Sound Club\scw.exe" <p>Также сработает и вариант с заключением в кавычки всех имён с пробелами по отдельности:</p> start C:\"Program Files"\"Sound Club"\scw.exe <p>Однако, в ряде случаев не работает ничего из вышеописанного. В таких случаях я могу посоветовать использовать команду cd . Переходим на системный раздел, затем с помощью cd в папку Program Files и запускаем программу (start ):</p> %SystemDrive% cd \Program Files\Sound Club\ start scw.exe <p>Я думаю, что такой способ будет работать везде. Теперь еще пара важных моментов. Допустим вы создали батник, запускающий три программы и вам нужно на время исключить запуск одной из трех. Это можно сделать удалением строки или ее комментированием. Первый способ - вандальный, а второй смотрите ниже.</p> start firefox start jetaudio rem start defraggler <p>В данном случае отключен запуск установленной в системе программы Defraggler.exe. Комментируют строки, указывая команду rem в начале строки. Все BAT файлы выполняются в окне консоли. Чтобы оно исчезало по окончании выполнения команд, не забывайте в конце писать команду на выход exit. </p> start firefox start jetaudio rem start defraggler exit <h2>Запуск приложений из bat-файла</h2> <p>В первой части статьи я в общих чертах рассказал о BAT файлах. Теперь стало понятно - что это такое и с чем его едят. Во второй части речь пойдет уже о более конкретных вещах. Например, о том, как при помощи BAT файла запустить несколько приложений с определенными настройками или в автоматическом режиме установить программу, чтобы не тратить время на ответы типа Вы согласны с условиями лицензионного соглашения? и не нажимать лишние кнопки.</p> <p>Выше было изложено несколько способов запуска приложений при помощи BAT файла. Самый первый - это короткая команда на запуск установленной в системе программы.</p> start firefox <p>Это не всегда работает. Поэтому такой прием можно вполне применять на какой-то конкретной системе, но в качестве универсального решения он не подходит. Если есть цель заставить работать BAT файл везде и всегда, нужно пользоваться полными путями:</p> start C:\"Program Files"\"Mozilla Firefox"\firefox.exe <p>Также я отметил, что в BAT файле обязательно должна присутствовать команда на завершение:</p> start C:\"Program Files"\"Mozilla Firefox"\firefox.exe exit <h3>Запуск программ в bat-файлах с параметрами (ключами)</h3> <p>Программу можно не просто запускать, а давать ей дополнительные команды при запуске. Например, скомандовать запускаться свернутой:</p> start /min D:\FileZilla\FileZilla.exe exit <p>Скомандовать в данном случае - значит указать ключ. Ключ указывается через слэш после основной команды (команда /ключ ). Основной командой в данном случае является start . Правда ключ min работает только в половине случаев, потому как относится именно к команде запуска start , а не к программам, которые эта команда запускает.</p> <p>Вообще ключей существует очень много и наборы ключей разных программ могут существенно различаться. Есть, правда, несколько общих. Например, ключ справки (/? или /help ). Чтобы проследить работу этого ключа, рассмотрим практический пример. Откройте консоль (Жмёте <b>+ </b> R , вводите cmd , далее Enter ) и набираете в консоли следующее:</p> start /? <p>Консоль выведет на экран перечень допустимых ключей c комментариями для команды start .</p> <p><img src='https://i0.wp.com/nevor.ru/nvfiles/editor/medium/8_cmd_start.png' width="100%" loading=lazy></p> <p>Обратите внимание на ключ /wait . В некоторых случаях он бывает просто незаменим. Например, вы решили с помощью BAT файла распаковать архив с программой и эту самую программу запустить. В батнике получится две команды - на распаковку и на запуск. Поскольку команды при запуске BAT файла выполнятся почти одновременно, архив распаковаться не успеет и запускать будет нечего. Поэтому будет ошибка. В этом случае на помощь придет ключ <b>/wait </b>:</p> <p>Таким образом система сначала выполнит первое действие, дождется его завершения и только после этого приступит ко второму. Если необходимо подождать конкретный отрезок времени, то проще воспользоваться консольной утилитой . В нужном месте BAT файла пишете следующую команду (число - количество секунд):</p> start Sleep.exe 15 <p>С помощью ключей можно делать многое. Есть возможность устанавливать приложения . Для этого используется несколько ключей в зависимости от типа инсталятора, применяющегося для установки программы на компьютер:</p><p> /S /s /q /silent и ряд других </p><p>В ряде случаев бывает очень удобно. Антивирус Avast имеет опцию тихой установки в корпоративной версии. В бесплатной (домашней) версии тихой установки якобы нет. Однако, если вы в курсе как работает инсталятор InstallShield , вы поймете, что это утка, так как этот инсталятор сам по себе поддерживает ключ тихой установки /S . А значит все продукты, выполненные на его базе - тоже. И Avast не исключение. Просто создаете в папке с Avast"ом BAT файл с содержанием</p> start avast.exe /S exit <p>запускаете его и программа устанавливается на компьютер практически без вашего участия. Таким образом можно написать целый список программ для тихой установки и сэкономить время, например, на переустановке системы. В статье можно получить более подробную информацию по ключам.</p> <p>Есть и другие возможности по управлению программами при помощи BAT файлов. Можно запустить программу, приказав ей открыть файл при запуске. Я пользуюсь этим способом при разработке сайтов. Очень удобно, когда весь твой инструментарий открывает нужные документы и папки нажатием всего одной кнопки:</p> <span>rem соединение с ftp-сервером </span> start /min D:\FileZilla\FileZilla.exe "ftp://логин:пароль@сервер" <span>rem открытие index.php в Firefox </span> start C:\"program files"\"mozilla firefox"\firefox.exe "http://localhost/папка_сайта/index.php" <span>rem открытие start.html в текстовом редакторе </span> start /min C:\"Program Files"\текстовой_редактор.exe "E:\сервер\папка_сайта\index.html" <span>rem открытие папки с файлами сайта </span> start /min E:\сервер\папка_с_сайтом <span>rem выход из консоли </span> exit <p>Отмечу, что все вышеописанные приемы можно применять в различных комбинациях и сочетаниях.</p> start /min /wait program.exe /m /S start C:\Directory\program2.exe "C:\Files\file.odt" exit <p>Но важно помнить: всё, что касается выполнения запускаемой в батнике программы, пишется с ней в одной строке.</p> start C:\"program files"\"mozilla firefox"\firefox.exe "http://localhost/папка_сайта/index.php" <p>В качестве эпилога предложу для ознакомления конвертер BAT файлов в приложения формата .exe - . BAT файл - это не всегда эстетично, а с помощью конвертера можно запаковать батник в exe"шник, оформив его любой иконкой на ваш выбор.</p> <p>Наткнулся ещё на один конвертер BAT в EXE, можете рассмотреть в качестве альтернативы предыдущей программе: Advanced Bat To Exe Converter</p> <i> </i> <p>Использование графического интерфейса в операционных системах сегодня представляется чем-то само собой разумеющимся и совершенно естественным, но так было не всегда. Первая операционная система MS DOS, разработанная компанией Microsoft, не имела GUI, а управление выполнялось посредством ввода текстовых команд. С тех пор минуло без малого 40 лет, однако скриптовый язык командной строки по-прежнему пользуется популярностью, причём не только в среде разработчиков.</p> <p>Командная строка не столь удобна, зато с её помощью можно выполнять недоступны из GUI операции. С другой стороны, запускать каждый раз консоль, вводить в неё одну за другой команды – всё это сильно замедляет работу. Впрочем, можно существенно упростить задачу, создав бат-файл или попросту батник – текстовый файл с расширением BAT, содержащий список инструкций, обрабатываемых командным интерпретатором CMD. Используются такие файлы для автоматизации разных задач, например, для удаления временных файлов по расписанию или запуска программ.</p> <h2><span>Как создать файл с расширением BAT </span></h2> <p>Итак, как создать bat-файл в Windows 7/10? Очень просто. Для этого понадобится любой текстовый редактор и знание основ командной строки. Можно использовать Блокнот, а ещё лучше Notepad++, так как последний имеет подсветку синтаксиса. Создайте в редакторе новый файл, в меню «Файл» выберите «Сохранить как», дайте будущему скрипту имя, а в выпадающем списке «Тип файла» выберите «Batch file (*bat; *cmd; *nt)».</p> <p><img src='https://i1.wp.com/viarum.ru/wp-content/uploads/kak-sozdat-bat-fail-2.jpg' align="center" width="100%" loading=lazy></p> <p>Если для создания bat-файла захотите использовать Блокнот, расширение нужно присвоить вручную, а в списке «Тип файла» выбрать «Все файлы».</p> <p><img src='https://i2.wp.com/viarum.ru/wp-content/uploads/kak-sozdat-bat-fail-3.jpg' align="center" width="100%" loading=lazy></p> <p>Как видите, создать файл с расширением bat не составляет сложности, есть тут, однако, свои тонкости. В командных файлах нельзя использовать перенос строк, кодировка bat-файла должна быть выставлена UTF-8, если в теле скрипта используется кириллица, кодировку нужно изменить, вставив в положенном месте команду chcp 1251.</p> <p>Вместо расширения BAT можно использовать CMD, результат выполнения скрипта будет точно таким же.</p> <h2><span>Основные команды, синтаксис и примеры использования батников </span></h2> <p>Как сделать bat-файл вы знаете, теперь настала пора самого интересного, а именно синтаксиса языка интерпретатора CMD. Понятно, пустой батник работать не будет, он даже не запустится при двойном по нему клике. Чтобы скрипт сработал, в нём должна быть прописана хотя бы одна команда. Для наглядного примера посмотрим, как написать bat-файл для запуска программ. Допустим, приступая к работе, вы каждый раз запускаете три программы – Chrome, Firefox и VLC. Упростим задачу, создав скрипт, который будет сам запускать эти программы с интервалом в пять секунд.</p> <p>Открываем пустой батник и вставляем в него такие команды:</p><p>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" </p><p><img src='https://i1.wp.com/viarum.ru/wp-content/uploads/kak-sozdat-bat-fail-4.jpg' align="center" width="100%" loading=lazy></p> <p>Команда <b>start </b> запускает исполняемый файл нужной программы, а команда <b>timeout /t </b> задаёт интервал между запусками. Обратите внимание на расположение кавычек – в них берутся пути, в которых имеются пробелы. Также если в пути есть кириллические символы, в начало скрипта следует вставить изменяющую кодировку команду <b>chcp 1251 </b>, в противном случае интерпретатор не сможет правильно прочитать путь.</p> <p><img src='https://i0.wp.com/viarum.ru/wp-content/uploads/kak-sozdat-bat-fail-5.jpg' align="center" width="100%" loading=lazy></p> <p>При запуске скрипта будет последовательно открыто четыре окна консоли, это нормальное явление, по выполнении команд все они автоматически закроются, впрочем, можно сделать так, чтобы открывалось только первое окно. Для этого код запуска приложения следует изменить следующим образом:</p><p>Start /b "" "путь" </p><p><img src='https://i0.wp.com/viarum.ru/wp-content/uploads/kak-sozdat-bat-fail-6.jpg' align="center" width="100%" loading=lazy></p> <p>Может также статься, что в определённый момент потребуется приостановить выполнение скрипта, чтобы пользователь сам смог решить, выполнять ли все остальные команды или нет. Для этого существует команда <b>pause </b>. Попробуйте заменить ею timeout и увидите, что получится.</p><p>Start /b "" "путь" pause </p><p><img src='https://i1.wp.com/viarum.ru/wp-content/uploads/kak-sozdat-bat-fail-7.jpg' align="center" width="100%" loading=lazy></p> <p>Рассмотрим ещё один пример команд для bat файла. Напишем скрипт, который будет в одном случае выключать компьютер, а в другом – перезагружать его. Для этих целей мы будем использовать команду <b>shutdown </b> с параметрами <b>/s </b>, <b>/r </b> и <b>/t </b>. При желании можно добавить в батник запрос на выполнение действия, вот так:</p><p> @echo off chcp 1251 echo "Вы действительно хотите выключить компьютер?" pause shutdown /s /t 0 </p><p><img src='https://i2.wp.com/viarum.ru/wp-content/uploads/kak-sozdat-bat-fail-8.jpg' align="center" width="100%" loading=lazy></p> <p><img src='https://i0.wp.com/viarum.ru/wp-content/uploads/kak-sozdat-bat-fail-9.jpg' align="center" width="100%" loading=lazy></p> <p>Поясняем. Первая команда скрывает текст самих команд, вторая – устанавливает кириллическую кодировку, третья – выводит сообщение для пользователя, четвертая – устанавливает паузу, пятая – выключает, а с ключом <b>/r </b> вместо <b>/s </b> перезагружает компьютер без традиционной задержки в одну минуту. Если не желаете церемониться с запросами и паузами, можете оставить только пятую команду.</p> <p>Если вместо русского текста при выполнении команды вы увидите крякозябры, попробуйте преобразовать файл скрипта в ANSI.</p> <p>Что ещё можно делать с помощью скриптов? Много чего, например, удалять, копировать или перемещать файлы. Допустим, у вас есть некая папка data в корне диска D, содержимое которой нужно очистить одним махом. Открываем батник и вставляем в него такую команду:</p><p>Del /A /F /Q "D:/data" </p><p><img src='https://i0.wp.com/viarum.ru/wp-content/uploads/kak-sozdat-bat-fail-10.jpg' align="center" width="100%" loading=lazy></p> <p>А можно и так:</p><p>Forfiles /p "D:/data" /s /m *.* /c "cmd /c Del @path" </p><p><img src='https://i1.wp.com/viarum.ru/wp-content/uploads/kak-sozdat-bat-fail-11.jpg' align="center" width="100%" loading=lazy></p> <p>В отличие от первой, вторая команда удаляет файлы рекурсивно, то есть в папке data будут удалены все файлы плюс те, которые лежат во вложенных каталогах.</p> <p>А вот ещё один полезный пример. Напишем скрипт, который будет создавать резервную копию содержимого одной папки и сохранять данные в другую. За копирование отвечает команда <b>robocopy </b>:</p><p>Robocopy C:/data D:/backup /e pause </p><p><img src='https://i2.wp.com/viarum.ru/wp-content/uploads/kak-sozdat-bat-fail-12.jpg' align="center" width="100%" loading=lazy></p> <p>Запустив такой батник на исполнение, вы скопируете все содержимое папки data в папку backup, включая вложенные каталоги, пустые и с файлами. К слову, команда robocopy имеет много параметров, позволяющих очень гибко настраивать параметры копирования.</p> <p><img src='https://i1.wp.com/viarum.ru/wp-content/uploads/kak-sozdat-bat-fail-13.jpg' align="center" width="100%" loading=lazy></p> <h2><span>Запуск bat-файлов от имени администратора и по расписанию, скрытый запуск bat </span></h2> <p>Теперь вы знаете как создавать батники и имеете некое общее представление о языке интерпретатора CMD. Это были основы, теперь пришла пора познакомиться с некоторыми полезными особенностями работы с bat-файлами. Известно, что для выполнения некоторых действий программам нужны права администратора. Понадобиться они могут и батникам. Самый очевидный способ запустить скрипт от имени администратора, это кликнуть по нему правой кнопкой мыши и выбрать в контекстном меню соответствующую опцию.</p> <p><img src='https://i2.wp.com/viarum.ru/wp-content/uploads/kak-sozdat-bat-fail-14.jpg' align="center" width="100%" loading=lazy></p> <p>Кроме того, можно сделать так, что конкретный батник будет запускаться с повышенными привилегиями всегда. Для этого необходимо создать на такой скрипт обычный ярлык, открыть его свойства, нажать кнопку «Дополнительно» и отметить в открывшемся окошке галочкой пункт «Запуск от имени администратора». Этот способ хорош ещё тем, что позволяет выбрать для ярлыка любой значок, тогда как файл с расширением BAT или CMD всегда будет иметь невзрачный вид.</p> <p><img src='https://i1.wp.com/viarum.ru/wp-content/uploads/kak-sozdat-bat-fail-15.jpg' align="center" width="100%" loading=lazy></p> <p>Скрипты, как и все приложения, можно запускать по расписанию. Команда <b>timeout /t </b> здесь не совсем уместна, для отложенного запуска лучше всего использовать встроенный «Планировщик задач» Windows. Здесь всё просто. Открываем командой <b>taskschd.msc </b> Планировщик, определяемся с триггером, действие выбираем «Запустить программу» и указываем путь к bat-файлу. Вот и всё, скрипт будет запущен в положенное время.</p> <p><img src='https://i1.wp.com/viarum.ru/wp-content/uploads/kak-sozdat-bat-fail-16.jpg' align="center" width="100%" loading=lazy></p> <p><img src='https://i0.wp.com/viarum.ru/wp-content/uploads/kak-sozdat-bat-fail-17.jpg' align="center" width="100%" loading=lazy></p> <p><img src='https://i2.wp.com/viarum.ru/wp-content/uploads/kak-sozdat-bat-fail-18.jpg' align="center" width="100%" loading=lazy></p> <p><img src='https://i2.wp.com/viarum.ru/wp-content/uploads/kak-sozdat-bat-fail-19.jpg' align="center" width="100%" loading=lazy></p> <p><img src='https://i2.wp.com/viarum.ru/wp-content/uploads/kak-sozdat-bat-fail-20.jpg' align="center" width="100%" loading=lazy></p> <p>И напоследок ещё один интересный момент. Когда вы запускаете bat-файл, на экране появляется, пусть даже на какую-то долю секунды, окно командной строки. А нельзя ли сделать так, чтобы скрипт выполнялся в скрытом режиме? Можно, причём несколькими способами. Самый простой заключается в следующем. Создаём на bat-файл ярлык, открываем его свойства и в меню «Окно» выбираем «Свёрнутое в значок». После этого единственным видимым признаком запуска скрипта будет появление значка CMD на панели задач, окон же при этом открываться не будет.</p> <p><img src='https://i0.wp.com/viarum.ru/wp-content/uploads/kak-sozdat-bat-fail-21.jpg' align="center" height="651" width="510" loading=lazy></p> <p>Если вы желаете полностью скрыть выполнение скрипта, можете воспользоваться «костылем» – скриптом VВS, который будет запускать ваш батник в скрытом режиме. Текст скрипта приведен ниже, сохраните его в файл <b>hidden.vbs </b>, предварительно заменив путь во второй строчке кода <i>D:/sсript.bat </i> путём к вашему батнику.</p><p>Set WshShell = CreateObject("WScript.Shell") WshShell.Run chr(34) & "D:\script.bat" & Chr(34), 0 Set WshShell = Nothing </p><p><img src='https://i0.wp.com/viarum.ru/wp-content/uploads/kak-sozdat-bat-fail-22.jpg' align="center" width="100%" loading=lazy></p> <p>Есть также и другие варианты, например, использование утилиты <b>Hidden Start </b>, позволяющей запускать исполняемые и пакетные файлы в скрытом режиме, в том числе без приглашения .</p> <p>А на этом пока всё. Информацию касательно создания скриптов BAT без труда можно найти в интернете. Неплохо также ознакомиться с учебником Уильяма Станека «Командная строка Microsoft Windows». Несмотря на то, что с момента издания книги прошло более десяти лет, содержащаяся в ней информация до сих пор актуальна.</p> <p>В процессе работы с операционной системой Windows может возникать необходимость зацикливания DOS-команд, создания многоуровневой цикличности повторяющихся действий или программ, автоматизирования рабочего процесса с утилитами и файлами в ручном или без участия юзера. </p> <br>Для этих целей предназначены специальные типы файлов, которым присваивается расширение bat, в которых прописывается определенный набор команд, цикличность выполнения которых и необходимо создать. Таким образом, создав такой файл и прописав в него необходимые команды, а также добавив его в системный планировщик задач, можно реализовывать этот процесс полностью в автоматическом режиме без участия пользователя. <p>Основным преимуществом bat-файлов является отсутствие необходимости прописывать в них какой-либо программный код, благодаря чему работать с ними может даже начинающий юзер. Все что необходимо для создания такого файла - это задать исходную информацию, которая будет исполняться DOS-процессами. Помимо этого, этот процесс реализовывается одинаково на всех версиях Windows. В качестве примера можно привести системный файл autoexec.bat, в котором находится список всех служб и приложений, которые должны быть запущены при старте Windows.</p> <p><b>BAT-файлы: основные возможности </b></p> <p>В зависимости от реализовываемых функций, bat-файлы подразделяются на несколько типов:</p> <p>— информационные, которые отвечают за вывод на дисплей определенной информации;<br> — рабочие, с помощью которых осуществляется запуск пакетных документов;<br> — циклические, предназначенные для создания рабочих циклических процессов;<br> — многоуровневые, которые отвечают за иерархическое исполнение системных команд, с использованием заданных условий;<br> — программные, позволяющие работать с утилитами.</p> <p><b>Исполнение bat-файлов </b></p> <p>Запустить исполнение командных файлов можно несколькими методами. Одним из наиболее простых является командная строка, в которой необходимо просто прописать название bat-файла. При этом допускается использование и дополнительных параметров. Как только все файлы указаны, их реализация будет происходить в автоматической режиме, в той последовательности, которую указал пользователь.</p> <p>Если bar-файлы хранятся в различных директориях, то помимо имени потребуется указание полного пути к нему. При этом указывать расширение необязательно. Давайте предположим, что необходимо запустить выполнение bat-файла с именем priroda.bat, а также дополнительными параметрами resize.doc и /p, расположенного по адресу с:\photogalery\otpusk. Таким образом, для запуска файла достаточно прописать в командной строке команду с:\home\photogalery\otpusk resize.doc /p и начнется автоматическое выполнение процесса.</p> <p><b>Прерывание выполнения командного файла </b></p> <p>Исполнение любого командного файла можно остановить при помощи двойного нажатия клавиши «+», после чего потребуется подтвердить свое намерение прерывания посредством нажатия клавиши «Y» если вы согласны или «N» — если вдруг вы передумали.</p> <p><b>Запуск другого bat-файла </b></p> <p>Любой командный файл может выступать в качестве рабочего, который активирует выполнение других bat-файлов. Для этого необходимо прописать в теле такого файла команду CALL, после которой указывается название файла и дополнительные параметры, при необходимости, который необходимо исполнить. Если этот параметр не указать, то ничего не произойдет, поскольку в этом случае происходит передача прав другому файлу.<br> При задании дополнительных параметров используется символ «%» с указанием переменной от одного до девяти. После завершения выполнения всех команд, начнется исполнение начального скрипта с новой строки.</p> <p><b>Последовательное исполнение </b></p> <p>Иногда возникает необходимость последовательного исполнения команд, прописанных в теле командного файла. Чаще всего это происходит на этапе отладки и тестирования работоспособности скриптов. Для настройки пошагового выполнения предназначена команда COMMAND, которая прописывается в начале каждой строки. После этой команды указываются переменные /y/c, название скрипта и дополнительные параметры, помещенные в квадратные скобки.<br> При начале исполнения каждой новой команды со стороны пользователя потребуется подтверждение при помощи клавиши «Enter» или «Escape».<br><b><br> Управление выводом команд на дисплей </b></p> <p>При запуске исполнения командного файла происходит оповещение юзера при помощи окна уведомления, после чего начинается непосредственное его выполнение. Однако эти оповещения не всегда являются уместными, поскольку bat-файлы большого объема могут отвлекать юзера от другой работы за компьютером длинными оповещениями. А вот при отладке они, наоборот, окажутся весьма кстати. Для управления функцией вывода команд на дисплей предназначена команда ECHO, а при помощи параметров ON и OFF можно активировать и деактивировать отображение уведомлений.</p> <p>Если возникла необходимость отключения вывода на экран одной или нескольких команд, то в начале строки необходимо прописать команду @ECHO OFF. Стоит отметить, что многие киберпреступники используют такую команду для того, чтобы скрыть работу вредоносного программного обеспечения, помещенного в исполняемые командные файлы.</p> <p><b>Сообщения при исполнении команд </b></p> <p>Если команды ECHO прописана неправильно и после основных параметров в тексте команды присутствуют другие символы, то она работать не будет и вместе с текстом основного уведомления на дисплей будет выводиться и сама команда. Стоит отметить, что при помощи командных файлов можно настроить даже звуковое оповещение, которое будет подаваться при помощи спикера. Для этого, после основного символа необходимо поставить цифру 7. Если возникла необходимость повышения качества читабельности текста уведомления необходимо после ECHO поставить точку, не используя пробел.</p> <p>Помимо стандартного вывода команд на экран, можно настроить отображение оповещений в отдельном файле. Для этого потребуется настроить путь вывода, просто заменив монитор на определенный файл. Делается это также при помощи bat-файлов, в которых прописываются следующие команды:</p> <p>— ECHO-текс уведомления >> название файла - предназначена для добавления в конец файла строки сообщения. Если по указанному пути заданный файл отсутствует, то система создает новый файл.<br> — ECHO-текс уведомления >> название файла - отвечает за запись уведомления в новый файл. Стоит отметить, что если по указанному пути уже содержится файл с идентичным именем, то его содержимое будет полностью перезаписано.</p> <p><b>Использование комментариев </b></p> <p>Для удобства работы с командными файлами большого объема, содержащих множество команд, реализована возможность использования комментариев. Для этого необходимо поставить в начале строки параметр REM, после которого прописывается сам комментарий. Все что находится после этого параметра полностью игнорируется операционной системой.</p> <p><b>Задержка исполнения командного файла </b></p> <p>Во время работы с bat-файлами может возникнуть необходимость временной приостановки процесса их выполнения. Например, это может потребоваться чтобы дать пользователю немного времени на то, чтобы успеть прочитать выведенный текст, или для отладки программы. Для этого используется команда PAUSE, которая прописывается без каких-либо дополнительных параметров. Таким образом, если команда прерывания задействована в батнике, то исполнения командного файла будет приостановлено, а пользователь получит сообщение о том, что для продолжения выполнения необходимо нажать любую клавишу. Стоит отметить, что двойное нажатие на плюс система расценит как остановку исполнения командного файла, которое потребует от пользователя подтверждения или отмены. Все другие клавиши продолжат процесс выполнения bat-файла.</p> <p><b>Последовательное исполнение пакета файлов </b></p> <p>При помощи командного файла можно настроить последовательное выполнение большого количества файлов. При этом доступна возможность исполнения по названию или типу расширения. Это позволяет автоматизировать работу с большим количеством документов, например, с прайс-листами, которые поступают на электронную почту от поставщиков. Для этих целей предназначена команда FOR, вариант исполнения которой выглядит так:</p> <p>— FOR %x IN (перечень файлов) DO команда, где:<br> — х - любой буквенный символ;<br> — перечень - все файлы можно перечислять через пробел;<br> — команда - любая DOS-команда или утилита.</p> <p>Стоит отметить, что при использовании команды FOR необходимо учитывать тот факт, что все DOS-команды и программы обладают ограниченной длиной. Если возникнет необходимость использования длинных названий, то перед этой командой нужно поставить параметр LFNFOR ON, который активирует длинные имена. Для деактивации этого режима потребуется параметр ON заменить на OFF.</p> <p>Некоторые операции с утилитами, например, сравнение файлов, обладающих заданным типом расширения, расположенных по различным адресам, а также копирование содержимого одной папки в другую, последовательное исполнение однотипных файлов и многих других, можно выполнить при помощи всего одной команды, помещенной в командный файл. При этом исполнение любой команды или файла можно совмещать с определенными пользовательскими действиями, благодаря чему можно значительно повысить удобство работы с большими пакетами данных.</p> <p><b>Переходы в командных файлах </b></p> <p>Чтобы систематизировать процесс исполнения команд батниках используются метки и команды перехода между ними. В качестве меток используются строки командного файла, в начале которых ставится двоеточие, после чего задается имя, которое может содержать любой набор символов. Для отделения имени от команды используется пробел. Помимо этого, для каждой метки юзер может создавать комментарий, что существенно упрощает работу с объемными файлами.<br> Для настройки перехода между метками предназначена команда GOTO, после которой через пробел указывается название одной из меток. Если система не смогла найти указанную метку или заданный параметр, то действие перехода на этой команде завершается.</p> <p><b>Использование условий в работе командных файлах </b></p> <p>Командные файлы позволяют работать с командами, которые попадают или не попадают под заданные юзером параметры. Для этого используется команда IF, после которой прописывается одно из следующих условий;<br> — ERRORLEVEL число - подразумевает истинность условия в том случае, если результат выполнения предыдущего приложения соответствует или превышает заданное значение;<br> — СТРОКА 1 == СТРОКА 2 - истинность значения подразумевается в том случае, если достигается полное соответствие между двумя строками;<br> — EXIST — имя файла - истинность сохраняется при наличии указанного файла;<br> — NOT — условие — истинное значение достигается при несоответствии заданного значения.</p> <p><b>Какие команды используются в bat-файлах? </b></p> <p>Чтобы получить список всех команд, использование которых допускается в командных файлах, необходимо запустить командную строку, прописать HELP и нажать клавишу Enter. После этого, на дисплей монитора будет выведен список всех команд с небольшим пояснением каждой из них. Если возникнет необходимость получить более подробное описание, то нужно просто ввести еще раз HELP с названием интересующей команды.<br><b><br> Работа командных файлов при резервном копировании данных </b></p> <p>BAT-файлы очень сильно помогают в повседневной работе системных администраторов, которые используют их при выполнении самых различных задач, наиболее важной, среди которых является резервное копирование данных. Чтобы автоматизировать этот процесс в крупной корпоративной сети нужно в батник поместить команду COPY. Помимо этого, можно настроить расписание резервного копирования наиболее важных файлов с сохранением в указанную директорию просто создав в планировщике Windows запуск этого файла по определенным дням недели или датам.</p> <p>Сегодня мы узнаем про то, что такое <b>bat файл </b> и заодно создадим один из них.</p><p>Думаю, что многие, так или иначе, периодически создают (так называемые<b> backup </b>-ы) тех или иных файлов и папок.</p><p>Вроде все привычно и делать ничего особо сложного не надо: вставить флешку, открыть "<b>Мой компьютер </b>", найти что надо скопировать, выделить, тыкнуть мышкой, выбрать "скопировать", перебраться в нужный каталог, тыкнуть "вставить" и тд.</p><p>Но зачастую все эти клики и лишние телодвижения несколько утомляют и отнимают ценное время, особенно при частых копированиях одних и тех же данных. В этой статье я расскажу как , а точнее написания такой штуки как <b>bat файл </b>.</p><p>Поехали.<br></p><h2>Bat файл - что к чему, вводная</h2><p>Для начала немного о том, что такое <b>bat файл </b>, зачем он нужен и с чем его (или их) едят. Дабы не изобретать велосипед воспользуюсь выдержкой из Википедии :</p><p>Пакетный файл (т.е <b>bat </b> файл, от англ. <b>batch file </b>) - текстовый файл в <b>MS-DOS, OS/2 </b> или <b>Windows </b>, содержащий последовательность команд, предназначенных для исполнения командным интерпретатором.</p><p>После запуска пакетного файла, программа - интерпретатор (как правило <b>COMMAND.COM </b> или <b>CMD.EXE </b>) читает его строка за строкой и последовательно исполняет команды.</p><p>Пакетный файл - аналог<b> shell script </b>в <b>Unix </b>-подобных операционных системах.</p><p>Пакетные файлы полезны для автоматического запуска приложений. Основная область применения - автоматизация наиболее рутинных операций, что регулярно приходится совершать пользователю компьютера.</p><p>Примерами таких операций могут служить - обработка текстовых файлов; копирование, перемещение, переименование, удаление файлов; работа с папками; архивация; создание резервных копий баз данных и т. п.</p><p>Пакетные файлы поддерживают операторы <b>if </b> и <b>goto </b> (а в системах семейства <b>Windows NT </b> и расширенный оператор <b>for </b>), что позволяет обрабатывать результаты выполнения предыдущих команд или приложений и в зависимости от этого выполнять дальше тот или иной блок команд (как правило, в случае удачного завершения приложение возвращает 0 в переменной errorlevel; в случае неудачного - 1 или большее значение).</p><p>Пакетные файлы в <b>DOS </b> имеют расширение.<b>bat </b>; для других операционных систем они могут иметь другие расширения - например, .<b>CMD </b> в <b>Windows NT </b> и <b>OS/2 </b>, или<b> .BTM </b>в <b>4DOS </b>или подобных оболочках.</p><p>С теорией разобрались, приступим к, собственно, практике, а именно созданию bat-ника.</p> <h2>Как создать bat файл и использовать его</h2><p>Давайте подготовим небольшое тестовое поле, чтобы было на базе чего экспериментировать. Откройте мой компьютер и создайте на диске <b>C:\ </b> папочку <b>test </b>. Зайдите в неё и создайте в ней папку .</p><p>Накидайте туда файлов (штук <b>5-10 </b>) - фотки, документы и тд и тп (любых короче). Поле для экспериментов готово. Далее нам надо создать, собственно, сам <b>bat </b>файл по нажатию на который у нас будет происходить копирование папки <b>C:\test\testcopy </b> в, скажем, папку <b>C:\test\backup </b>. Создавать вторую папку (которая <b>backup </b>) не надо - она будет появляться автоматически.</p><p>Создать <b>bat </b> очень просто. Жмем правой кнопкой мышки там где хотим его создать (расположение не важно - можно прямо на рабочем столе) и выбираем "<b>Создать </b>" - "<b>Текстовый документ </b>".</p><p>Задаем созданному файлу название и открываем его блокнотом или любым другим текстовым редактором. Т.е. на данный момент мы имеем открытый текстовый файлик, который называется, допустим, <b>копирование.txt </b>.</p> <h2>Добавляем в файл команду, например, для копирования</h2><p>Далее, собственно, нам в этот файлик нужно ввести команду, которая будет воспроизводиться по средством консоли (<b>cmd </b>) при запуске этого файла. В данном случае мы воспользуемся командой <b>xcopy </b> ибо именно она позволяет копировать файлы, каталоги и подкаталоги. Учитывая все пути у нас получится следующая команда:</p><p>xcopy C:\test\testcopy C:\test\backup /f /i /y /s</p><p>Разъясняю что тут к чему:</p><ul><li><b>xcopy </b> - это сама команда;</li><li><b>C:\test\testcopy </b> - это источник, т.е. папка откуда копируются файлы и каталоги;</li><li><b>C:\test\backup </b> - это результат, т.е. место, куда будут скопированы файлы и каталоги;</li><li><b>/f /i /y /s </b>- дополнительные параметры синтаксиса для команды <b>xcopy </b> (см.синтаксис ниже по тексту).</li> </ul><p>Количество строчек может быть любым, т.е. если Вам надо скопировать <b>100 </b> папок, Вы пишете <b>100 </b> строчек в одном файле и меняете в них только пути.</p><p>Какие есть (т.е. те, что я указал в данном примере):</p><ul><li><b>/f </b>- выводит имена исходных файлов и файлов-результатов в процессе копирования</li><li><b>/i </b> - создает новый каталог в случае, если тот отсутствует в конечном пути</li><li><b>/y </b> - перезаписывает файл в случае, если он уже есть</li><li><b>/s </b> - копирует каталоги и подкаталоги, если они не пусты. Если параметр <b>/s </b> не задан, команда <b>xcopy </b> будет работать только с одним каталогом.</li> </ul><p>Как по мне - это основной список параметров необходимых для "тихого" копирования, т.е. без лишних вопросов о перезаписи, создания каталогов и прочей шушеры. Касательно остального синтаксиса можно почитать, например, .</p> <h2>Меняем формат файла и пробуем его запустить</h2><p>Сначала открываем "<b>Мой компьютер </b>", там переходим "<b>Сервис </b>" - "<b>Свойства папки </b>" - "<b>Вид </b>" и снимаем галочку "<b>Скрывать расширение для зарегистрированных типов файлов </b>".</p><p>Жмем "<b>Применить </b>" и "<b>Ок </b>". Теперь мы можем менять расширение известных системе файлов, а посему направляемся к нашему файлику, жмем правой кнопкой мышки, выбираем "<b>Переименовать </b>" и методом печатания на клавиатуре меняем расширение с <b>txt </b>на<b> bat </b> (на вопрос системы стоит ли это делать отвечаем утвердительно).</p><p>В результате мы имеем следующую картину (в вашем случае файлик называется иначе, но имеет тот же формат):</p><p><img src='https://i1.wp.com/sonikelf.ru/attach/img/1254329870-clip-3kb.jpg' height="90" width="156" loading=lazy></p><p>Собственно, все, что нам остается - это запустить этот файл простым кликом по нему мышки.</p><p>Если Вы все сделали правильно, то перед Вами промелькнет консоль и по известному пути появится новая папочка с заданным заранее названием и файлами внутри скопированными из известной Вам папки, т.е картина получится примерно следующая:</p><p><img src='https://i0.wp.com/sonikelf.ru/attach/img/1254330018-clip-4kb.jpg' height="153" width="235" loading=lazy></p><p>Ну или несколько другая, в зависимости от того какие пути и названия папок Вы прописывали в команде.<br> Отредактировать файлик можно сменив ему расширение обратно на.txt и открыв любым текстовым редактором.</p><h2>Послесловие</h2><p>Как я уже сказал и Вы сами наверное осознали - использование подобного <b>bat </b> файл "а зачастую экономит кучу времени, т.е. один раз написал и периодически запускаешь одним кликом и вместо многоминутных тычков мышкой и ползания по всем папкам получаешь автоматизированный процесс копирования.</p><p>При желании можно поставить запуск этого <b>bat </b>-ника в определенные дни через планировщик <b>Windows </b>(или другие программы позволяющие это делать) и вообще забыть о проблеме долгих ручных <b>backup </b>"ов.</p><p>Если есть какие-то вопросы или проблемы - спрашивайте. Как всегда помогу чем смогу;)</p><p>PS: Если мне не изменяет память, то это кусочек темы из умных админских книжек, а именно из раздела "<b>Автоматизация администрирования </b>".. так что можете собой гордится:)</p> <script>document.write("<img style='display:none;' src='//counter.yadro.ru/hit;artfast_after?t44.1;r"+ escape(document.referrer)+((typeof(screen)=="undefined")?"": ";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth? screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+";h"+escape(document.title.substring(0,150))+ ";"+Math.random()+ "border='0' width='1' height='1' loading=lazy>");</script> </div> <div class="footer"> <script type="text/javascript">(function(w,doc){ if(!w.__utlWdgt){ w.__utlWdgt=true;var d=doc,s=d.createElement('script'),g='getElementsByTagName';s.type='text/javascript';s.charset='UTF-8';s.async=true;s.src=('https:'==w.location.protocol?'https':'http')+'://w.uptolike.com/widgets/v1/uptolike.js';var h=d[g]('body')[0];h.appendChild(s);} })(window,document);</script> <div data-background-alpha="0.0" data-buttons-color="#FFFFFF" data-counter-background-color="#ffffff" data-share-counter-size="12" data-top-button="true" data-share-counter-type="disable" data-share-style="1" data-mode="share" data-like-text-enable="false" data-hover-effect="scale" data-mobile-view="false" data-icon-color="#ffffff" data-orientation="horizontal" data-text-color="#000000" data-share-shape="round-rectangle" data-sn-ids="vk.fb.tw.ok.gp.mr.lj.li." data-share-size="40" data-background-color="#ffffff" data-preview-mobile="false" data-mobile-sn-ids="fb.vk.tw.wh.ok.gp." data-pid="1388251" data-counter-background-alpha="1.0" data-following-enable="false" data-exclude-show-more="true" data-selection-enable="true" class="uptolike-buttons"></div> <div class="related"><span><ul> <li> <a href="/konverter-iz-plyusa-v-minus-onlain-sdelat-minusovku-onlain-v-horoshem-kachestve/" rel="bookmark"> <img src="/uploads/2b27e64280b426ce56b8343b9d573db4.jpg" loading=lazy> <span>Сделать минусовку онлайн в хорошем качестве</span> </a> </li> <li> <a href="/skachat-programmu-dlya-zapisi-vindovs-hp-na-fleshku-poshagovaya-instrukciya-po/" rel="bookmark"> <img src="/uploads/6805ceaf69abb05ead3d4f4c3ddf32fd.jpg" loading=lazy> <span>Пошаговая инструкция по записи windows xp на флешку и чем она отличается от других ос</span> </a> </li> <li> <a href="/web-cureit-ne-ostanavlivaetsya-posle-zaversheniya-raboty-antivirusnaya/" rel="bookmark"> <img src="/uploads/1f7b13da7e059a018c63e1e9fe69e5d4.jpg" loading=lazy> <span>Антивирусная утилита CureIt</span> </a> </li> <li> <a href="/kak-otklyuchit-mobilnyi-internet-tele2-s-telefona-plansheta-ili-usb-modema/" rel="bookmark"> <img src="/uploads/cb45a228ca77be2ab8fadbcf55dcdc57.jpg" loading=lazy> <span>Отключаем интернет на Теле2 Как отключить мобильный трафик на теле2</span> </a> </li> </ul></span></div> <center> </center> <div class="bannerLine"> <div class="blockvk"></div> </div> <div id="vk_comments"></div> </div> </div> </div> </div> <div id="rightColumn"> <div class="banner"> </div> <div class="tabContent"> <h3>Популярное</h3> <div class="tabItem topnews" style="display: block;"> <ul> <li><a href="/jiayu-g3-opisanie-dobrotnyi-chetyrehyadernyi-telefon-nichego-krome/">добротный четырехъядерный телефон, ничего кроме похвалы не заслуживающий</a></li> <li><a href="/kak-zarabotat-bitkoiny-bez-vlozhenii-avtomaticheski-s-nulya/">AutoFaucets — автоматический сбор биткоинов с кранов (расширение в браузер) Как заработать биткоины автоматически</a></li> <li><a href="/kak-pochinit-planshet-samsung-esli-on-ne-rabotaet-ne-vklyuchaetsya/">Не включается планшет самсунг Samsung tab 2 не загружается</a></li> <li><a href="/nokiya-lyumiya-800-proshivka-proshivka-i-pereproshivka-telefona-i-smartfona-nokia/">Прошивка и перепрошивка телефона и смартфона Nokia</a></li> <li><a href="/versiya-android-6-0-1-obnovlenie-android-kak-obnovitsya-do-novoi/">Версия android 6.0 1. Обновление Андроид: как обновиться до новой версии, сделать откат? Гайд в деталях. Отключение стоковых приложений</a></li> <li><a href="/kak-na-asuse-sdelat-skrinshot-opisanie-sposobov-kak-sdelat/">Как на "Асусе" сделать скриншот</a></li> <li><a href="/rossiiskie-produkty-so-znakom-kachestva-rossiiskaya-sistema-kachestvaroskachestvo-besplatnyi-znak-tol/">Российская система качествароскачество</a></li> <li><a href="/illyustrirovannyi-samouchitel-po-p-cad-elektronnye-knigi-ustanovka/">Электронные книги Установка общих параметров проекта</a></li> <li><a href="/ne-sinhroniziruetsya-iphone-s-itunes-ipad-ne-udalos-sinhronizirovat/">IPad не удалось синхронизировать, так как сеанс синхронизации не удалось начать Айфон не синхронизируется с айтюнс что делать</a></li> <li><a href="/kak-ya-poluchil-klyuch-k-diablo-iii-beta-kak-ya-poluchil-klyuch-k-diablo-iii-beta-kak-ya/">Как я получил ключ к Diablo III Beta Как я получил ключ к Diablo III Beta</a></li> </ul> </div> <div class="tabItem none"></div> <br> <div class="banner"> </div> </div> </div> </div> </div> <div id="footer"> <div class="colLeft"> <nav> <ul id="menu-footer-menu" class="menu"> <li><a href="/feedback/">Контакты</a></li> <li><a href="">Реклама</a></li> </ul> </nav> <div class="attention"></div> </div> <div class="colCenter"> </div> <div class="colRight"> <div class="copyright">© 2024 raigeimera.ru Интернет. Безопасность. Windows. Программы. Компьютеры. Помощь</div> <div class="banner"> </div> </div> <div class="clear"></div> </div> </div> <script type="text/javascript" src="/templates/remtown/js/jquery.sticky.js"></script> <script type='text/javascript' src="/templates/remtown/js/copyright.min.js" charset="UTF-8"></script> <script type="text/javascript" src="/templates/remtown/js/libs.js"></script> </body> </html>