Сайт про гаджеты, ПК, ОС. Понятные инструкции для всех

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

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

Технология пакетных файлов

Пакетные файлы (их также называют командными или bat-файлами) – текстовые документы с расширениями.bat или.cmd, содержащие последовательность команд, которые можно запустить подобно любому приложению Windows. Такая технология позволяет пользователю создавать программы пакетной обработки, выполняющие несколько последовательно записанных команд. Это очень удобно, если периодически приходится совершать повторяющиеся действия. Пакетные файлы предоставляют гибкие возможности создания сценариев, с их помощью возможно написание и маленьких линейных последовательностей команд, и сложных сценариев с условными ветвлениями и циклами. Технология файлов пакетной обработки используется во многих ОС и оболочках, среди которых Windows, OS/2, Mac OS и Linux-подобные системы.

Создание и использование

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

Для выполнения такого файла необходимо запустить его, как и всякое приложение Windows. Каждая строка bat-файла представляет собой действие (команду). Это могут быть команды для работы с файлами и папками, запуск приложения или другого пакетного файла, работа с реестром, вывод на экран сообщений и т. д., можно выполнять любые действия, поддерживаемые интерпретатором командной строки. Для получения списка этих команд следует нажать (или Пуск→Выполнить… ), ввести в поле запуска cmd (command – для Windows ниже версии NT) и нажать ОК , после чего в открывшемся окне командной строки набрать help и нажать Enter . Детальную справку по конкретной команде можно получить, введя ее имя, пробел и /? , например copy /?Enter . Кроме команд командной строки, в пакетных файлах можно вызывать другие bat-файлы, внешние утилиты (и, допустим, defrag), а также любые приложения и сервисы (только для NT-систем).

Рассмотрим такой пример. Вы постоянно работаете с тремя файлами, которые находятся в разных каталогах жесткого диска, и часто создаете их резервные копии на USB-flash-drive. Для этого потребуется заходить в каждый каталог и копировать файлы по отдельности на флэшку. Если написать простенький пакетный файл, то перечисленные действия сведутся к его запуску. Предположим, что полные пути и имена файлов таковы: D:WorkProfits.xls, D:HomeHome.doc и C:MyDocsOplata.doc , а G: – съемный флэш-диск для резервной копии. Тогда нужный пакетный файл будет выглядеть так:

copy D:WorkProfits.xls G:Backup

copy D:HomeHome.doc G:Backup

copy C:MyDocsOplata.doc G:Backup

Первые три строки непосредственно копируют файлы в каталог Backup на USB-накопитель. В последней – команда ожидания нажатия любой клавиши. Она используется для того, чтобы после выполнения предыдущих команд не закрылось окно командной строки и можно было увидеть результаты выполнения bat-файла. Данный пакетный файл будет исполнен независимо от своего названия и местоположения на компьютере. Теперь для резервного копирования нужно только запустить созданный файл.

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

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

copy D:WorkProfits.xls %1

copy D:HomeHome.doc %1

copy C:MyDocsOplata.doc %1

Теперь путь назначения файла будет указываться при запуске. Для резервного копирования на флэшку необходимо набрать в командной строке D:Mybatsbackup.bat G:Backup и нажать Enter. D:Mybatsbackup.bat – полный путь и имя исполняемого файла (если он находится в текущей папке – путь не обязателен), а G:Backup – первый параметр, определяющий местоположение резервных копий. При выполнении команды копирования вместо %1 будет подставлен первый параметр G:Backup . Используя переносной винчестер (H:) с папкой Copydir пакетный файл необходимо вызывать так: D:Mybatsbackup.bat H:Copydir . Если данный bat-файл был запущен без параметров, то указанные файлы скопируются в папку, где расположен пакетный файл. В данном случае файлы при копировании будут заменены без подтверждения, для выдачи же запроса подтверждения замены необходимо добавить ключ /-Y , тогда каждую команду копирования нужно записать так: copy /-Y D:WorkProfits.xls %1 . При создании пакетных файлов для резервного копирования рекомендуется изучить команду xcopy , которая представляет собой расширенную версию copy.

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

if not exist %1 mkdir %1.

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

Пакетные файлы, как и командная строка, предоставляют возможность работы с переменными окружения, которые хранят различные системные параметры. Перечень переменных окружения можно получить в разделе «Общие сведения о командной оболочке» справки Windows. Например %WINDIR% – размещение каталога ОС Windows, а %TEMP% и %TMP% содержат пути к системной и пользовательской папкам для временных файлов соответственно.

Рассмотрим следующий пример. Многие пользователи иногда очищают содержимое временных каталогов. Для этого необходимо перейти в соответствующую папку (их может быть и две), выделить содержимое и удалить. После написания простенького bat-файла очистка временных каталогов выполняется запуском файла с Рабочего стола. К тому же саму папку удалить нельзя, а при выделении ее содержимого мышкой без использования специальной команды (Выделить все или Ctrl+A ) все скрытые файлы и папки останутся нетронутыми. Итак, содержимое файла:

del /F /S /Q %temp%

del /F /S /Q %tmp%

Первые две строки выполняют удаление содержимого системной и пользовательской папок для временных файлов. Для команды del использованы специальные модификаторы (ключи): /F – удаление файлов, помеченных «только для чтения», /S – удаление из всех подкаталогов, а /Q избавляет пользователя от подтверждения. Справку по этой и другим командам интерпретатора со всеми возможными модификаторами можно получить, набрав имя команды /?Ente r. Последняя команда pause необходима, если вам интересен отчет об удалении файлов.

.bat или.cmd

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

Пакетные файлы (.bat) использовались еще в ранних версиях MS-DOS как средство выполнения нескольких команд. Эти файлы выполнялись командным интерпретатором command.com и были основным средством автоматизации.

Начиная с Windows NT, используются командные файлы (.cmd), но пакетные также поддерживаются. Командные файлы являются усовершенствованной технологией пакетных и выполняются интерпретатором cmd.exe.

Пакетные файлы поддерживаются вплоть до Win-dows Vista, но обладают ограниченным набором команд по сравнению с командными файлами и выполняются медленнее.

Варианты запуска

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

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

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

Полезное применение

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

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

Bat-файлы и Windows Vista

Как и ее предшественники, Windows Vista поддерживает технологию пакетных и командных файлов. По сравнению с XP увеличилось количество выполняемых интерпретатором команд, а также расширилась функциональность некоторых ранее существующих команд. Сохраняется восходящая совместимость: bat-файлы, созданные в предыдущих версиях Windows, будут корректно работать под управлением Windows Vista. Полный перечень команд может быть получен из справки командной строки описанным выше способом. Возможен запуск созданных файлов вручную или автоматически. Для выполнения пакетным файлом некоторых системных действий необходимо запускать его с правами администратора.

Ссылки по теме

coop.chuvashia.ru/kartuzov/os/Articles/05/Bat_NT.htm – статья, посвященная командным файлам NT; рассмотрен синтаксис, описание команд и типовые примеры

www.firststeps.ru/msoffice/win/bats/bats1.html – руководство по созданию и использованию пакетных файлов под Windows 98, но будет актуально и для более новых ОС

www.windowsfaq.ru/content/category/3/7/45 – ряд статей об использовании пакетных и командных файлов с наглядными примерами

megakomp.info/engine/print.php5?newsid=55&news_page=1 – несколько полезных примеров использования командных и пакетных файлов

www.osp.ru/win2000/2006/08/3829295 – советы и рекомендации по использованию файлов пакетной обработки с примерами

www.shkolazhizni.ru/archive/0/n-2425 – статья посвящена ускоренному выключению компьютера с помощью пакетного файла

www.ttgdt.edu.ru/students/learn/bat_files.html – описание команд и синтаксиса bat-файлов с примерами

www.megalib.com/books/1487/page2245.html – общие сведения по применению.bat- и.cmd-файлов

www.securitylab.ru/processinfo/267532.php – описание команды at (запуска программ и пакетных файлов по расписанию)

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

Чем открыть файл в формате BAT

Расширение BAT представляет собой системный файл ОС MS-Dos или Windows, который применяется в качестве исполнительного в Command Prompt (cmd.exe).

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

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

В основе описания файла заложен скриптовый язык программирования, выполняющий команды BAT файла в ОС MS-Dos и Windows.

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

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

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

Программы для открытия BAT файлов

BAT расширение неприхотливо к платформе конкретной операционной системы и одинаково успешно может функционировать на базе ОС Windows, Mac и Linux.

Чтобы открыть BAT файл в ОС Windows принято использовать:

На базе ОС Mac BAT формат будет доступен с применением все тех же стандартных текстовых редакторов или Parallels Desktop 7 for Mac .

Для того, чтобы воспроизвести расширение в ОС Linux необходимо использовать gedit .

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

  • поврежден или инфицирован файл;
  • файл не связан с реестром ОС (выбрано некорректное приложение для воспроизведения или не произведена инсталляция конкретного плагина);
  • недостаточно ресурсов устройства или ОС;
  • поврежденные или устаревшие драйвера.

Конвертация BAT в другие форматы

С помощью любого тестового редактора, например, Microsoft WordPad , Microsoft Notepad , BAT расширение может быть преобразовано в формат . Однако, как показывает практика, в данной трансляции отсутствует какая-либо необходимость. Гораздо более популярна обратная конвертация данных (из TXT в BAT).

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

Почему именно BAT и в чем его достоинства?

BAT расширение представляет собой системный файл ОС MS-Dos или Windows, содержащий набор исполнительных команд. Оно не является популярным среди обычных пользователей, а востребовано сугубо в среде системных администраторов и опытных программистов.

Сегодня мы узнаем про то, что такое bat файл и заодно создадим один из них.

Думаю, что многие, так или иначе, периодически создают (так называемые backup -ы) тех или иных файлов и папок.

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

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

Поехали.

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

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

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

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

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

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

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

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

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

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

Хотите знать и уметь, больше и сами?

Мы предлагаем Вам обучение по направлениям: компьютеры, программы, администрирование, сервера, сети, сайтостроение, SEO и другое. Узнайте подробности сейчас!

Как создать bat файл и использовать его

Давайте подготовим небольшое тестовое поле, чтобы было на базе чего экспериментировать. Откройте мой компьютер и создайте на диске C:\ папочку test . Зайдите в неё и создайте в ней папку .

Накидайте туда файлов (штук 5-10 ) - фотки, документы и тд и тп (любых короче). Поле для экспериментов готово. Далее нам надо создать, собственно, сам bat файл по нажатию на который у нас будет происходить копирование папки C:\test\testcopy в, скажем, папку C:\test\backup . Создавать вторую папку (которая backup ) не надо - она будет появляться автоматически.

Создать bat очень просто. Жмем правой кнопкой мышки там где хотим его создать (расположение не важно - можно прямо на рабочем столе) и выбираем "Создать " - "Текстовый документ ".

Задаем созданному файлу название и открываем его блокнотом или любым другим текстовым редактором. Т.е. на данный момент мы имеем открытый текстовый файлик, который называется, допустим, копирование.txt .

Добавляем в файл команду, например, для копирования

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

xcopy C:\test\testcopy C:\test\backup /f /i /y /s

Разъясняю что тут к чему:

  • xcopy - это сама команда;
  • C:\test\testcopy - это источник, т.е. папка откуда копируются файлы и каталоги;
  • C:\test\backup - это результат, т.е. место, куда будут скопированы файлы и каталоги;
  • /f /i /y /s - дополнительные параметры синтаксиса для команды xcopy (см.синтаксис ниже по тексту).

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

Какие есть (т.е. те, что я указал в данном примере):

  • /f - выводит имена исходных файлов и файлов-результатов в процессе копирования
  • /i - создает новый каталог в случае, если тот отсутствует в конечном пути
  • /y - перезаписывает файл в случае, если он уже есть
  • /s - копирует каталоги и подкаталоги, если они не пусты. Если параметр /s не задан, команда xcopy будет работать только с одним каталогом.

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

Меняем формат файла и пробуем его запустить

Сначала открываем "Мой компьютер ", там переходим "Сервис " - "Свойства папки " - "Вид " и снимаем галочку "Скрывать расширение для зарегистрированных типов файлов ".

Жмем "Применить " и "Ок ". Теперь мы можем менять расширение известных системе файлов, а посему направляемся к нашему файлику, жмем правой кнопкой мышки, выбираем "Переименовать " и методом печатания на клавиатуре меняем расширение с txt на bat (на вопрос системы стоит ли это делать отвечаем утвердительно).

В результате мы имеем следующую картину (в вашем случае файлик называется иначе, но имеет тот же формат):

Собственно, все, что нам остается - это запустить этот файл простым кликом по нему мышки.

Если Вы все сделали правильно, то перед Вами промелькнет консоль и по известному пути появится новая папочка с заданным заранее названием и файлами внутри скопированными из известной Вам папки, т.е картина получится примерно следующая:

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

Послесловие

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

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

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

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

BAT файл это код программы сохраненный с расширением.bat или.CMD кому как нравится.

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

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

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

Создать файлы бат проще простого. Откройте обычный текстовый редактор и сохраните его с расширением.bat.

Также можно использовать продвинутую программу «notepad++»

Вот образец кода чтобы написать bat файл:

explorer.exe «C:\Program Files»

Данный код откроет папку «program files» на диске C:\

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

Вот пример кода — форматирование раздела F:\

@echo off
format F /q /autotest

Пример кода bat — Создать 100 папок:

@echo off
for /l %%i in (1,1,100) do mkdir «dir %%i»

сделать bat ом можно и (Вирус) вредную программу скрипт: К примеру — нижеприведенный код удалит важные exe файлы.

@echo off
do del «c:\windows\exploer.exe»
do del «c:\windows\mspoint.exe»
do del «c:\windows\notepad.exe»

Команда создать папку bat файлом

Нижеприведенный код создаст 3 папки в том месте где сам файл расположен. Также первая созданная папка будет содержать еще одну вложенную папку. Так как имена папок написаны на кирилице то дописываем строку кодировки chcp 1251. Такой файл обычным блокнотом написать нельзя, так как в нем нет возможности изменить кодировку русских букв. Воспользуйтесь программой notepad++.

chcp 1251
MD .\папка_артикул\база\
MD .\директория\
MD .\хранилище\

Скачать Bat файл

— файл создает 3 папки

Пример кода bat как открыть папку

explorer.exe «C:\Users\Administrator\Desktop\фото\»

Формат bat чем открыть?

Также как и создание файлов.bat в текстовом редакторе, их можно открыть тем же блокнотом, wordpad, или notepad++.

Единственное что нужно помнить при открытии файла bat — при двойном щелчке мыши на файле он запустит программу. Т.Е чтобы открыть его для редактирования, наведите курсор на редактируемый файл и правой кнопкой мыши откройте контекстное меню где выбирайте открыть с помощью notepad++

Также если в контекстном меню нажать на просто открыть Вы также запустите исполнение бат-файла.

Есть еще один способ: Откройте текстовый редактор блокнот и перетащите в него ваш редактируемый файл.

Важно: пользователи часто путают понятия файлов с расширением.bat и почтовый клиент «The Bat» для отправки и приёма почтовых документов.

Основные операторы Bat-файла

@ Все выполняемые bat команды выводятся на экран, чтобы убрать лишнее, перед командой ставится «собака». Часто используется с @echo off.
set Задает переменные. Например, setper=c:\windows здесь per присваиваем путь. В переменную можно записать громоздкое значение и указать ее в сценарии, что сделает код компактнее. Если ее содержание изменится, тогда не придется менять везде значения, где предусмотрена эта переменная.
:: Один из двух методов комментирования в bat файле без вывода этой строки на экран.
:LABEL При добавлении к слову двоеточия, создается метка, которая позволяет перейти к разным разделам батника. Метка может носить другое название, LABEL это пример.
CALL Bat команда, вызывающая один пакетный файл в другом. Все параметры, описанные в одном из файлов, могут быть переданы друг другу.
CHOICE Команда выбора.
CLS Очищает содержимое командного интерпретатора, что выведено на экран выше CLS.
ECHO Выводит сообщение на экран. Например, «ECHO Как дела!» выведет «Как дела!». Если не использовать @ECHO off в начале пакетного файла, тогда Вы увидите путь к bat файлу и два сообщения, что является излишним. Вы можете создать пустую строку введите ECHO. с точкой в конце.
EXIT Завершает текущий пакетный сценарий.
GOTO LABEL Используется для перехода к определенной метки, в данном случае к LABEL и исполняет сценарий после нее.
IF Как и в языках программирования batкоманда ifолицетворяет выполнение условия, в зависимости от которого сценарий пойдет по тому или иному пути. С синтаксисом знакомьтесь в справке.
for Цикл, используемый для организации выполнения одних и тех же действий.
PAUSE Если необходимо ознакомиться с результатом сценария, а он выполняется, и окно быстро закрывается, тогда используйте PAUSE. Она позволит посмотреть результат и завершить сценарий по нажатию любой кнопки.
REM Второй способ комментирования. В отличии от:: печатается на экране, если нет конструкции @ECHO off.
SHIFT Изменяет положение пакетных параметров в bat файле.
START Запускает программы, окна и т.д. Имеет множество атрибутов.

Для более детального описания кода bat файлов читайте справку по Windows

Bat-файлами принято называть текстовые файлы, которые сохраняются с использованием расширения bat. Они вмещают в себя список команд для моментального выполнения интерпретатором command.com и cmd.exe. Данные интерпретаторы появились еще в операционной системе DOS, однако не потеряли своей актуальности для XP и . Самой распространенной задачей пакетных файлов является запись конкретных рутинных команд, постепенное выполнение которых дает возможность избежать часто повторяемых операций. Это, в свою очередь, способствует значительному ускорению обработки данных.

Не проще говоря, batch - это пакетный dos-файл, который содержит в себе набор DOS-команд в виде ASCII. А проще - это скрипт, который выполняется интерпретатором command.com либо cmd.exe.

Таким образом, в любой операционной системе Windows можно открывать любые файлы или приложения с помощью созданного bat-файла. Пользу от таких файлов можно увидеть на примере autoexec.bat, который является одним из командных файлов. В начале запуска и инициализации системы, вместе с обработкой config.sys, операционная система будет искать в корневом каталоге диска С: файл autoexec.bat, что означает его автоматическую обработку без каких-либо усилий со стороны человека. В данный файл удобно размещать нужные команды по настройке системы на ваше усмотрение.

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

Бат файлы тоже помогут при создании Autorun"ов. Например, если ваш автозапуск выполнен в виде веб страницы, тогда вам придется прописать в файле Autorun.inf такие строки:
OPEN=\путь\имя_файла.bat а уже в бат файле прописать такие строки: start \путь\имя фала.html
Во первых хочу сразу сказать, что файлы имеющих расширение bat, cmd, reg имеют широкое применение и большие возможности, хоть они уже и не в моде. Скажу хотя бы, что первые два указанные выше расширения, это не что иное, как скомпилированные команды DOS. С помощью этих команд с лёгкостью пишутся вирусы особенно в файлах с расширением.reg (файлы реестра, а реестр, как известно хранит в себе все настройки операционной системы).

Хочу заметить, что приёмы с прописыванием команд в файл Autoexec.bat в ОС Windows 2000 и выше не всегда проходят, потому как в этих операционных системах на этот счет стоит защита, но с помощью записи в файле с расширением *.reg её можно легко снять. На всякий случай, если чувствуешь что у тебя вместе с системой запускается какой-то вирь, нажми клавиши Win+R и набери в появившемся диалоговом окне команду msconfig , зайди на вкладку Автозапуск (Autorun) и поубирай галочки над теми запускаемыми программами, которые тебе "мешают".

Весь список команд в bat файлах можно увидеть, написав в командной строке «help ». Появятся команды bat файлов, с короткими пояснениями к каждой из них. Для получения более детальной информации по необходимой команде нужно написать в командной строке «help » и имя команды.

Возможности bat

Простые команда batch-файлов

echo off запрещение вывода на экран исполняемых команд (on - вкл.)
deltree /y %файл% удалить файл (/y означает "удалить без вопросов"). Кстати, в NT работает только del (флаг /y не нужен).
copy %путь\файл% %куда\файл% cкопировать файл
mkdir %название_диры% создать директорию
echo %текст% вывести текст на экран
echo %текст% > %путь\файл% создать файл и вписать в него текст
echo %текст% >> %путь\файл% добавить текст в уже существующий файл
if exist %путь\файл% %команда% если существует файл, выполнить команду
attrib %атрибут% %путь\файл% поставить\убрать атрибуты файлу (+-h скрытый, +-s системный, +-r только чтение)
start %путь\файл% запустить файл
cls очистить экран
pause выводит сообщение "Нажмите любую кнопку... "
label %новая_метка% поставить новую метку системного диска (диск С)
format %диск%: /q быстрое форматирование диска:) Несколько секунд
ren %путь\файл% %новое_название_файла% переименовать файл
goto %метка% перескочить с одного места кода на метку

Непростые фишки bat-файлов и хитрости

  • Подобие таймера (на n секунд задерживает выполнение последующих команд)
    choice /N /T:y,%сек% > nul
  • Запрещение вывода на экран самой команды и результата её действия (полезно при команде "copy"). Пример: copy c:\some.exe %windir%\some.exe > nul
    %команда% > nul
  • Добавить ключи в реестр из файла без вопросов
    regedit /s %путь\файл.reg%
  • Запустить файл в свёрнутом окне
    start /m /w %путь\файл%
  • Слышал про файл Autoexec.bat? Знаешь, что он грузится вместе с компом? Наверное, да. Так вот, он имеет расширение BAT. На что я намекаю? На то, что ты можешь в него прописать строчку хитросделанного кода. Это я к тому, что любой скрипт, вставленный в этот файл, будет выполнен при загрузке компа. Также можешь создать в каталоге с виндой файл winstart.bat. Он также запуститься виндоус.
  • Это относиться как раз к фишке с Autoexec. К примеру, если ты положишь в каталог Windows\command файл к примеру "load.bat" (наверное, с плохим содержанием), а из autoexec"a подгрузить свой батничек. И это ещё отстой.. Ты сможешь загружать эти файлы такой строчкой: "load keybrd32.sys" или такой: "load VideoAdapter32.drv -- By windows setup --". Вряд ли такие строчки рискнёт удалять какая-нибудь лама, и твой файл без проблем загрузится.
  • После выполнения этого скрипта в переменной %drv% будет прописан диск с Виндой и с Programm Files
    if exist c:\Progra~1 set drv=c:
    if exist d:\Progra~1 set drv=d:
    if exist d:\Progra~1 set drv=e:
  • В переменной %windir% хранится каталог с виндусом в таком виде: диск:\название_каталога. Пример:
    copy c:\some.exe %windir%\some.exe
  • Batch скрипты не любят длинные, либо состоящие из двух слов, названия. Длинные урезаются до 6-ти букв (после них должно стоять "~1", к примеру "Program Files -> Progra~1"). Пробелы он просто убирает (The Bat -> TheBat~1).
    Это я к тому, что в бачах обращайся к файлам по их досовским названиям. Пример:
    copy c:\some.exe c:\Progra~1\some.exe (копируется файл в папку Program Files)
  • Этот скрипт выводит на экран Windows-окошко (посредством JS) с твоим сообщением и кнопкой ОК
    echo var WSHShell = WScript.CreateObject("WScript.Shell"); > %temp%\mes.js
    echo WSHShell.Popup("твой_текст"); >> %temp%\mes.js
    start %temp%\mes.js
    deltree /y %temp%\mes.js

Злоключение

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

Лучшие статьи по теме