Bat файлы
Содержание:
- Безопасно ли запускать bat файлы?
- Длинныe имена в bat-файлах
- Создание bat-файла
- Проверка условий и выбор вариантов. Команды if и goto
- Процесс автоматизации запуска файлов BAT
- Переменные. Команда set
- Горячие клавиши
- Автоматический ответ на запросы о подтверждении
- Внешние команды
- Как создать бат-файл в Виндовс 10
- Оператор IF с логическим ИЛИ (OR) в bat файле
- Как создать BAT файл?
- Примеры команд для bat файлов
Безопасно ли запускать bat файлы?
Ответ на этот вопрос зависит от того, насколько вы в состоянии понять содержимое пакетного файла, который хотите запустить. Если вы его автор, самостоятельно написали все команды и понимаете что эти команды делают, то конечно же запуск таких файлов совершенно безвреден для компьютера. НО, если вы получили такой файл по почте, скачали из интернета (особенно с сомнительного сайта) и т.д., то запускать его следует только в том случае, если вы доверяете тому, кто этот файл написал и дал вам, либо понимаете, что делают все команды, которые прописаны в нем. Так с помощью некоторых команд, которые могут быть написаны в .bat файле, можно полностью вывести из строя Windows, удалить важные данные, установить вирус или кейлоггер для кражи данных и много чего еще. Поэтому к этому вопросу надо подходить со всей ответственностью и понимать, чем это может грозить.
Длинныe имена в bat-файлах
Теперь поговорим о путях и пробелах. Первый способ избежать этой проблемы — использование короткого имени.
В примере два имени с пробелами. Заменим их короткими. Правила создания коротких имен следующие: в коротком имени используются первые шесть символов имени без учета пробелов, после имени указывают порядковый номер папки с помощью символа ~. Так как папки Program Files и Sound Club у меня в единственном числе, получится следующее:
Если рядом будут присутствовать две папки, например Sound Club и Sound Clown, то следуя правилам, в примере выше надо будет указать SoundC~2, так как в этом случае Sound Club окажется вторым именем (имена считаются в алфавитном порядке).
Но этот способ неудобен тем, что приходится указывать порядковые номера. Ситуация с Program files более менее нормальная. Мало у кого встретится две подобные папки на системном диске. Но если вы решили установить несколько продуктов Mozilla на свой компьютер. У вас получится несколько папок, например:
Короткими именами для них будут
А теперь представьте, что вы написали BAT файл с упоминанием этих программ. Если удалить Firefox, оставшиеся записи перестанут работать, а если удалить Thunderbird, перестанет работать запись для Sunbird. Короче, способ с короткими именами — не наш способ.
Создание bat-файла
Создать текстовый командный файл сможет любой пользователь – здесь нет абсолютно ничего сложного. Для этого потребуется лишь текстовый редактор (функционала стандартного блокнота будет вполне достаточно).
Первый метод
- Создаем новый текстовый документ в любом каталоге.
Дабы выполнить это действие, вызываем контекстное меню свободного от папок и файлов пространства каталога и выбираем «Создать». В выпавшем списке кликаем по пункту «Текстовый файл».
- Вводим имя созданного документа и кликаем «Enter».
- Открываем созданный файл двойным кликом мыши.
- Введем в него несколько простейших команд для проверки работоспособности:
@echo Hello, i’m bat!
pause
@echo – команда вывода текста на экран;
Hello, i’m bat!- сам текст;
pause – ожидание действий пользователя перед закрытием окна. По выполнении команды «@echo» командный интерпретатор не закроется автоматически, давая этим самым пользователю ознакомиться с результатами ее выполнения (на экране увидим введенный текст).
- Вызываем пункт «Файл» главного меню блокнота и кликаем по «Сохранить как…».
- В появившемся диалоге выбираем тип файла «Все файлы».
- Далее к имени нашего документа дописываем следующий текст «.bat», что в итоге даст «file.bat».
- Кликаем по кнопке «Сохранить».
В итоге в окне проводника появится документ с названием «file.bat», для запуска которого необходимо выполнить по нему двойной клик левой кнопкой манипулятора мышка или выделить и нажать «Enter».
Редактирование командного файла осуществляется выбором команды «Изменить» из его контекстного меню.
Второй метод
Второй способ создания bat-файлов практически аналогичен первому, но обходить вниманием его не станем
- Запускаем Блокнот любым известным методом.
- Через ярлык в меню «Пуск» — идем «Пуск – Все программы – Стандартные – Блокнот» в Windows 7 или «Пуск — Все приложения — Стандартные — Windows – Блокнот» в более поздних редакциях Windows.
- В поисковой строке «Пуск» / «Windows» вводим блокнот и запускаем программу, кликнув по ее ярлыку в списке результатов.
- Вызываем окно выполнения системных команд комбинацией клавиш «Win + R», вводим «notepad» и кликаем «Ок».
- Переходим к пункту №4 предыдущего метода.
Проверка условий и выбор вариантов. Команды if и goto
Команда if позволяет выделять в командном файле группы команд, которые выполняются или не
выполняются в зависимости от определенных условий. Для чего это нужно?
Проверка условия — почти необходимая мера при создании командных файлов,
использующих параметры. Перед тем, как начинать работу, командный файл, вообще говоря, должен
удостовериться в том, что ему передан корректный набор параметров. В противном случае велик
риск, что он выполнится неверно или безрезультатно, а пользователю останется только гадать, в
чем же проблема. Более того, если командный файл удаляет, перемещает или перезаписывает
какие-либо данные, то при некорректных параметрах он может даже нанести ущерб.
На следующем листинге показан уже знакомый вам командный файл компиляции хелп-файла. В начало
командного файла добавлена проверка первого параметра на непустоту
Обратите внимание на такую
особенность синтаксиса: для операции сравнения используется сдвоенный знак равенства. Если
первый параметр оказывается непустым, срабатывает команда goto, которая
«перебрасывает» командный процессор к указанной метке
В данном случае имя
этой метки compile. Обратите внимание, что там, где метка находится, ее имя предваряется
двоеточием, а в команде goto нет. При пустом первом параметре командный процессор переходит к
следующей строке, которая выдает сообщение об ошибке. А потом к следующей, которая
перебрасывает его в самый конец файла к метке с именем finish.
@echo off rem Проверяем, задан ли параметр if not "%1"=="" goto compile rem Если параметр пуст, выдаем сообщение об ошибке echo Не указано имя проекта хелп-файла rem и переходим в конец командного файла rem к метке finish goto finish rem Это метка с именем compile :compile rem Ниже расположены команды компиляции rem Путь к компилятору хелп-файлов set help_compiler="c:\Program Files\HTML Help Workshop\hhc.exe" rem Путь к каталогу, в котором находятся проекты хелп-файлов set project_path=e:\work\projects\help-projects rem Вызываем компилятор для обработки конкретного проекта, rem имя которого передаем в первом параметре %help_compiler% %project_path%\%1.hpj rem Это метка с именем finish :finish
Скажем прямо, предложенный способ проверки параметра не самый удачный.
Во-первых, если пользователь по ошибке укажет в качестве параметра имя несуществующего файла,
командный файл этим удовлетворится и предпримет попытку компиляции. Более правильный способ
— проверить, существует ли такой файл в действительности. Для этого в языке команд
MS-DOS предусмотрено специальное слово exist. Поэтому лучше было бы написать:
if exist %1.hpj goto compile.
Во-вторых, активное использование команды goto (т.н. безусловного перехода) и
меток сильно запутывают код. Технически они ничем не плохи, но отлаживать и сопровождать
командный файл, написанный в таком стиле, довольно неудобно. Поэтому программисты издавна
считают безусловный переход приемом нежелательным. Ниже показан более правильный, с точки
зрения стиля программирования, структурированный вариант, в котором используется конструкция
if…else. Работает она так: если условие истинно, выполняются
команды в скобках после if, а если ложно, то в скобках после else.
@echo off rem Проверяем, задан ли параметр if not exist %1.hpj ( rem Если параметр пуст, выдаем сообщение об ошибке echo Такого проекта хелп-файла не существует. ) else ( rem Ниже расположены команды компиляции rem Путь к компилятору хелп-файлов set help_compiler="c:\Program Files\HTML Help Workshop\hhc.exe" rem Путь к каталогу, в котором находятся проекты хелп-файлов set project_path=e:\work\projects\help-projects rem Вызываем компилятор для обработки конкретного проекта, rem имя которого передаем в первом параметре %help_compiler% %project_path%\%1.hpj )
Обратите внимание на отступы от левого края. Они необязательны, но делают текст командного
файла более читабельным
Приведем еще один пример работы с проверками. Следующий командный файл создает каталог с
именем help-files (предположим, для выгрузки в него скомпилированных
хелп-файлов). При этом, если каталог с таким именем уже существует (и в нем, вероятно,
находятся старые хелп-файлы, которые не хотелось бы терять: вдруг новые окажутся хуже?),
командный файл присваивает ему расширение bak. Но если каталог help-files.bak
уже существовал, то командный файл его удаляет (будем считать, что одной резервной копии нам хватит).
if exist help-files.bak rd help-files.bak if exist help-files ren help-files help-files.bak md help-files
Процесс автоматизации запуска файлов BAT
Ряд процессов требует осуществления задачи запуска документов BAT без привлечения к подобному процессу внимания со стороны пользователя. Автоматическая деятельность системы вполне может быть прописана. Такой подход используется довольно часто. Классический планировщик из инструментов операционной системы вполне способен помочь в выполнении начала работы пакетных файлов по расписанию. Таким образом, происходит запуск в точно установленное юзером время или через некоторые интервалы.
Помимо стандартного планировщика можно найти огромное количество специализированных программ. Значительная часть из них являются свободно доступными. В платных версиях предусматривается использование расширенных возможностей.
Ещё одним вариантом можно назвать автоматический запуск некоторых действий каждый раз при входе пользователем в учетную запись или включении устройства. Ранее уже рассматривались основные направления деятельности и способы задания команд для подобных ситуаций.
Переменные. Команда set
Переменной называется поименованное значение. В учебниках по программированию переменную
обычно сравнивают с конвертом, на котором написано имя. Внутрь конверта можно положить нечто,
например, определенную сумму денег — это ее значение. Как и в случае с конвертом,
значение переменной можно изменить.
Для объявления переменной и одновременно для присвоения ей значения применяется команда
set. Пример записи этой команды показан на следующем листинге.
rem Компилятор хелп-файлов в формате CHM set help_compiler=c:\HTML Help Workshop\hcc.exe
Для извлечения значения переменной ее имя помещают между двумя знаками процента, как показано ниже.
rem Компилятор хелп-файлов в формате CHM set help_compiler=c:\HTML Help Workshop\hcc.exe rem Проект хелп-файла модуля "Склад" set store_hpj=help\sources\store\store.hpj rem Проект хелп-файла модуля "Продажи" set sales_hpj=help\sources\sales\sales.hpj rem Компилируем хелп-файлы %help_compiler% %store_hpj% %help_compiler% %sales_hpj%
Приведенный листинг показывает, в чем польза переменных.
Во-первых, они позволяют вместо длинного фрагмента (например, пути к компилятору хелп-файлов)
использовать внутри командного файла синонимичный ему короткий. Как минимум, это удобно.
Во-вторых, они позволяют избежать повторения в тексте командного файла фрагментов, которые в
дальнейшем могут меняться. Представьте себе, что мы переустановили Microsoft HTML Workshop в
другой каталог. Если в командном файле для записи пути к нему применяется переменная, то будет
достаточно исправить в командном файле только одну строку, а именно, ту в которой
присваивается значение переменной help_compiler. Если бы мы писали путь к
компилятору всякий раз, когда его необходимо взывать, то после изменения пути нам пришлось бы
исправить каждую такую строку. В приведенном примере их две, но в реальном проекте их с таким
же успехом может оказаться пять или пятнадцать, по числу хелп-файлов, которые мы хотим
скомпилировать. Проблема не в том, что исправлять вручную каждую строчку тяжело (в конце
концов, команды “copy” и “paste” никто не отменял), а
в том, что это сильно повышает вероятность случайной ошибки.
Параметры командного файла тоже являются переменными, но от обычных переменных отличаются тем,
что их значения задаются при запуске командного файла. В дальнейшем, говоря о переменных, в
особенности о работе с их значениями, мы будем иметь в виду и параметры командного файла тоже,
во всяком случае, в отсутствие явных оговорок на это счет.
При написании командных файлов часто применяют следующий прием: несколько значений переменных
указывают рядом (или перемежая их какими-либо символами или строками), так, чтобы получить
некоторое новое осмысленное значение. Пример приведен на следующем листинге.
rem Путь к компилятору хелп-файлов set help_compiler="c:\Program Files\HTML Help Workshop\hhc.exe" rem Путь к каталогу, в котором находятся проекты хелп-файлов set project_path=e:\work\projects\help-projects rem Вызываем компилятор для обработки конкретного проекта, rem имя которого передаем в первом параметре %help_compiler% %project_path%\%1.hpj
Горячие клавиши
Начнем с горячих клавиш, ведь сначала необходимо изучить, что нам может дать рабочая среда.
F1 — В консоли эта клавиша работает в точности как и стрелка вправо, т.е. выводит по одному символу из последней введенной (либо выбранной в истории) команды.F2 <символ> — Выводит последнюю введенную команду до указанного символа. Например, если последняя введенная вами команда выглядела вот так:
то после нажатия комбинации клавиш
F2 5
вы получите:
F3
— Выводит последнюю, и только последнюю, в истории команду целиком.
F5
— Выводит последние введенные команды по порядку, также как и стрелка вверх.
F6
— Вставляет символ EOF на текущую позицию командной строки, что аналогично нажатию комбинации Ctrl Z.
F7
— Диалоговое окно, содержащее историю команд.
Alt F7
— Очищает историю команд.
— Перебирает команды, которые начинаются с символов уже введенных в командную строку.
Если перед нажатием
F8
ничего не вводить, то эта клавиша будет работать как и стрелка вверх, но с небольшим отличием — перебор строк будет осуществляться циклично, т.е. после первой команды из списка будет выведена последняя.
F9 <число>
— Вставляет команду из истории под соответствующим номером. К примеру, в ситуации приведенной на скрине выше при нажатии комбинации
F9 4
в консоли появится:
Автоматический ответ на запросы о подтверждении
При работе некоторых команд может возникнуть ситуация, когда они должны совершить потенциально опасное действие в системе. В качестве примера рекомендуется назвать format или del. Подобный момент предусмотрен и выдается соответствующее предупреждение. Когда производится выполнение внутри пакетного файла, то его деятельность остановится. Она будет возобновлена только после подтверждения и это способно стать причиной потери драгоценного времени.
Существует способ осуществления задачи автоматизации. Предполагается использование перенаправления необходимого ответа в команду. Далее будет на примере рассмотрено подобное действие. Требуется создать на диске С обычную папку Folder и внутрь неё осуществим помещение любых 2х документов.
Запускаем интерпретатор команд и вводим в нем
del C:\Folder
Это предполагает необходимость осуществить удаление вместе со всеми файлами внутри. Поскольку подобное действие относится к числу потенциально опасных, поступит запрос на подтверждение следующего вида:
C:\Folder\*, продолжить [Y(да)/N(нет)]?
Команда не станет продолжаться до тех пор, пока пользователь не ответит. Если работа производится в автономном режиме, ожидание может быть крайне длительным, а сам процесс останется невыполненным. Для выхода из сложившейся ситуации рекомендуется применение специального символа (|). Он предусматривает, что должна произойти передача следующей сразу после команде. Теперь модифицируем строку в пакетном файле:
echo Y|del C:\Folder
На экран происходит выдача подтверждения с уже положительным решением. Таким образом, из указанной папки произойдет удаление всех документов. Следует аккуратно использовать подобную возможность.
Внешние команды
- Exit используется для выхода из консоли DOS или (с опцией /b) только текущего bat-файла или подпрограммы.
- Ipconfig – это классическая консольная команда, которая выводит информацию о сети. Она включает MAC- и IP-адреса, и маски подсети.
- Ping пингует IP-адрес, отправляя к нему пакеты данных, чтобы оценить его удаленность и время ожидания (отклика). Также используется для задания паузы. Например, команда ping 127.0.01 –n 6 приостанавливает выполнение кода на 5 с.
Библиотека команд bat-файлов огромна. К счастью, в Сети есть множество страниц, в которых все они перечислены, наряду с переменными пакетного скрипта.
Как создать бат-файл в Виндовс 10
Создать его можно двумя способами, используя текстовый редактор или Командную строку. Рассмотрим каждый из них подробнее.
Через Блокнот
Создать объект в Винде можно, воспользовавшись любым текстовым документом. Использование Блокнота считается самым доступным и простым вариантом, актуальным во всех редакциях ОС.
Пошаговая инструкция:
Открыть меню Поиск.
Набрать в поисковике: notepad или блокнот.
Открыть приложение.
Вставить в текстовый редактор команду для исполнения запроса.
В верхней строке выбрать вкладку «Файл».
В меню тапнуть по «Сохранить как».
Выбрать место сохранения.
Указать соответствующее расширение.
В окне «Тип файла» выбрать значение «Все файлы».
Сохранить изменения.
Запуск Блокнота без администраторских прав не позволит сохранить объект в системной папке C. Для этого изначально можно сохранить его в другом месте, а затем переместить его на требуемый диск. Или запустить от имени Администратора.
После выполнения всех пунктов бат будет готов к выполнению поставленных задач. Запустив редактор, программа автоматически начнет свою работу. Если в дальнейшем юзеру понадобится сделать корректировку работы файла, достаточно нажать на него ПКМ, выбрать параметр «Изменить».
Если не получится, то открыть при помощи блокнота.
Затем внести корректировки и сохранить.
С использованием командной строки
Программное обеспечение входит в состав Винды. Консоль помогает взаимодействовать пользователю с компьютером посредством набора команды. Командная строка запускается в своей оболочке, предназначена для продвинутых пользователей. Если создать бат в «десятке» с использованием Блокнота не получается, поможет этот интерфейс. Созданный через командную строку bat files будет запускаться по такому же пути.
Пошаговая инструкция:
Запустить Поиск.
Ввести команду: cmd.
Набрать: copy con c:\lumpics_ru.bat, где copy con – значение, создающее текстовый документ. Остальное – адрес, имя и расширение файла.
В следующей строке ввести текст.
При заполнении вручную на новую строку пользователь может перейти с помощью нажатия: «Ctrl + Enter». Если юзер заранее подготовил текст, тогда в окне понадобится нажать ПКМ. Из буфера обмена вся информация автоматически попадет в строки.
- Сохранить данные одновременным нажатием: «Ctrl + Z».
- Нажать «Enter».
При успешном выполнении всех шагов в окне отобразится уведомление.
Для проверки корректности работы нужно открыть двойным кликом ЛКМ по названию.
Оператор IF с логическим ИЛИ (OR) в bat файле
С оператором OR так просто не получится, причем есть разные способы.
Способ 1 – через последовательные ИЛИ
Каждое условие записывается в отдельный IF, каждый из которых заносит результат в общую переменную. В итоге, если было выполнено хотя бы одно из условий, в общей переменной будет этот результат.
В примере ниже значение переменной a сравнивается с тремя значениями, и для любого из value1, value2, value3 условие будет выполнено. А если задать a какое-то другое значение, например, set a=value4, то условие выполнено не будет, что нам и нужно:
Способ 2 — через И и НЕ
Этот способ основан на том факте, что логическую операцию ИЛИ можно представить через операции И и НЕ, например, a OR b эквивалентно NOT ( NOT A AND NOT B ). Оператор NOT уже есть в bat файлах, а оператор AND можно представить через последовательные IF, как мы видели выше.
Поэтому тот же результат можно получить по-другому:
Этот способ занимает немного меньше строк, чем предыдущий.
Как создать BAT файл?
Эта тема разбита на 2 раздела, каждый из которых — ключевой при создании пакетного документа. Не зная основ и команд, нужных для формирования структуры, автоматизировать процесс работы невозможно.
Основы создания BAT файлов
Вы не сможете создать пакетный файл без изучения базовых команд. Каким бы он не был полезным и не помогал автоматизировать работу на ПК, непонимание основ станет серьезным препятствием. В этом разделе мы рассмотрим 5 базовых команд, которые вас в курс дела.
Базовые команды:
title
Используется для создания заголовка. Отображается в верхней части окна командной строки.
echo
Режим вывода команд на экран. При включении, командная строка выведет на экран сообщение о совершенном действии. При отключении, соответственно, сообщения пропадут
Обратите внимание, что вам придется контролировать статус echo. Если команда активирована на строке 2 и вы решили отключить ее на строке 22, 20 промежуточных строк будут содержать включенный режим вывода команд.
pause
Используется для остановки процесса.
exit
Позволяет закрыть командную строку.
cls
Используется для очистки окна командной строки.
::
Позволяет добавить комментарий к действию пакетного файла
Команда является пассивной и не влияет на общую работу документа.
Представленные выше команды — базовые и присутствуют во всех версиях Windows. Дополнительные команды появляются при установке соответствующего программного обеспечения. Например, если вы хотите автоматизировать задачи браузера Google Chrome, введите соответствующий код под названием chrome.
Используя эту информацию как фундамент для создания BAT файлов, вы можете автоматизировать любой процесс на ПК.
Руководство по созданию BAT файла
В этом разделе мы рассмотрим алгоритм создания пакетного файла, который подойдет для Windows 10, Windows 8.1, Windows 7 и даже для Windows XP.
1. Откройте Блокнот. При желании, воспользуйтесь альтернативой стандартному приложению — Notepad++.
2. С помощью команду echo off временно отключите комментарии, чтобы не засорять окно.
3. Введите заголовок title My First Bat File.
4. Добавьте комментарий This comment will not appear in the command prompt.
Следует отметить, что по умолчанию в командной строке отображается только английский язык. Тем не менее, комментарий может быть на любом другом. Он не будет отображаться в CMD и останется только в блокноте. Комментарий — ваша личная заметка, чтобы не потеряться в коде.
5. Введите команду echo Test file executed.
6. Далее введите I am too lazy to write commands by myself.
7. И, наконец, команда paust, чтобы обозначить завершение процесса.
8. Сохраните документ, изменив формат с .txt на .bat.
Готовый пакетный файл имеет два вида:
В окне блокнота:
В окне командной строки:
Мониторинг систем с помощью BAT файла
В предыдущем разделе мы рассмотрели основы и самый примитивный вариант BAT файла. Хотя его возможности достаточно широки — полный функционал CMD. Давайте рассмотрим, как с помощью пакетного файла можно провести мониторинг систем компьютера.
Отчет об энергопотреблении:
1. Откройте Блокнот и создайте новый документ.
2. Введите команду powercfg /energy и перейдите к следующей строке.
3. Введите команду C:\WINDOWS\system32\energy-report.html.
4. Сохраните документ с названием energyreport.bat.
Отчет о состоянии батареи:
1. Откройте Блокнот и создайте новый документ.
2. Введите команду powercfg /batteryreport и перейдите к следующей строке.
3. Введите команду C:\Windows\System32\battery-report.html.
4. Сохраните документ под названием batteryreport.bat.
Модификация BAT файлов
Каждый пакетный файл можно изменить, открыв его с помощью блокнота. Дальнейшая же работа с ним зависит целиком от вашей фантазии и понимания чего конкретно вы хотите от компьютера. Команды можно привязать практически к каждой его функции.
Автоматизация работы и мгновенное получение нужной информации неизменно сэкономит часы вашей жизни. На первый взгляд может показаться “Что тут такого, ведь можно открыть командную строку, ввести код и получить аналогичный результат”. И в своей сути вы окажетесь правы. Но на долгом промежутке времени и при работе в режиме “дедлайн” каждая минута может оказаться решающей.
Примените полученные знания на практике и убедитесь насколько простой стала повседневная работа с компьютером. Любая информация всего в двух кликах от вас. Надеемся, статья оказалась полезной и помогла разобраться в том что такое BAT файлы и как их настраивать.
Примеры команд для bat файлов
Теперь рассмотрим основные команды, которые Вы можете использовать.
Если Вам нужно удалить файл пропишите следующие:
Del d:\file\test.doc
Для того чтобы удалить весь каталог пропишите:
rd d:\file\
Вдруг Вам нужно удалять каждый раз все из какого-нибудь каталога, то используйте вот что:
echo Y| del d:\file\
где,
- del d:\file\ — это как раз и есть удаление всех файлов;
- echo Y| — команда подтверждает удаление т.к. если не прописать эту команду, то Вы увидите сообщение о подтверждение удаления – «Продолжить [Y(да)/N(нет)]», и Вам нужно будет каждый раз отвечать на этот вопрос.
Сейчас давайте рассмотрим пример посложней, в котором уже выполняется условие:
@echo off "C:\Program Files\WinRAR\winrar.exe" x -O+ -IBCK d:\test\test.rar d:\test IF not EXIST d:\test\123.rar GOTO 1 IF EXIST d:\test\123.rar GOTO 2 :2 "C:\Program Files\WinRAR\winrar.exe" x -O+ -IBCK d:\test\123.rar c:\ del d:\test\123.rar :1 del d:\test\test.rar end
Теперь объясняю, допустим, Вам нужно разархивировать архив test.rar, в котором будет много файлов, но если там окажется файл 123.rar его нужно будет разархивировать в корень диска C, а остальные файлы чтобы остались в том же каталоге не тронутыми.
По порядку, команда @echo off нужна, для того чтобы на экране у нас ничего не отражалось (в принципе, если не нужно можете не писать эту строку). Далее у нас запускается винрар и распаковывает архив test.rar в папку test. Затем идет условие, если в папке test (после распаковки test.rar) у нас не окажется файла 123.rar, то у нас просто выполнение батника переходит к строке :1 и потом просто удаляется файл test.rar за не надобностью т.к. все что нам нужно мы уже распаковали. Но если там оказывается файл 123.rar, то выполнение батника переходит к строке :2, после которой уже идет распаковка файла 123.rar в корень диска C. Другими словами у нас выполняется условие, если есть файл то делать это, если нет файла, делать вот это. Допустим, если не прописать условие в данном примере, то у нас батник выдаст ошибку, тогда когда у нас не окажется файла 123.rar в данной папке.
А сейчас рассмотрим такой пример, допустим, Вам нужно каждый раз перемещать из каталога расположенного на диске D файлы на флешку. Вы каждый раз должны будете заходить мой компьютер диск D, выбирать нужную папку, выделять все файлы из нее и вырезать, а потом только заходить на флешку и вставлять. С помощью батника это делается в один клик (с одним условием, что флешка каждый раз будет, например диском G или тем какой у Вас). Вот пример такого батника:
move "D:\catalog\*.doc" G:\catalognaflehe\
И все файлы с расширением doc, которые находятся в каталоге D:\catalog будут перемещаться на флешку. Теперь хочу сказать, что в батниках можно использовать сценарии (скрипты) при помощи Windows Scripting Host и если нужно, например чтобы выводилось сообщение, после того как файлы скопированы (предыдущий пример) вставьте вот это:
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
На самом деле про написание батников можно разговаривать много и в одну статью это, конечно же, не уместить, здесь я показал всего лишь принципы, которые используются при написании bat файлов, так сказать основу. Если Вы хотите узнать больше команд для написания батников, Вы можете легко посмотреть их, набрав в командной строке (Пуск — Выполнить – cmd) команду help, но там, конечно же, не все команды, что можно использовать в батниках. Удачи в написание BAT файлов (батников).
Продолжение темы в статье — BAT файлы – Примеры батников (Часть 2)
Нравится27Не нравится6