Написание bat файлов - Примеры батников
В данной статейки мы рассмотрим такую полезную вещь как Батник. Давайте сначала дадим определение, что такое bat файл. Пакетные или batch файлы это простые текстовые файлы, содержащие наборы команд (инструкцию) интерпретатора и имеющие расширение bat или cmd (cmd работают только в ОС семейства NT). Создавать и редактировать такие файлы можно при помощи обычного блокнота или любого другого текстового редактора.
Теперь вы спросите, зачем нужно уметь писать такие бат файлы? И зачем они нужны? Попытаюсь объяснить. Во-первых, они используются для облегчения работы т.е. например вам нужно постоянно выполнять какую-нибудь операцию каждый день (например, создавать архив тех или иных документов) с помощью батника это можно автоматизировать, и вы в этом уже не будите принимать участия. Во-вторых, эти пакетные файлы очень мощные (если конечно уметь их писать) т.е. вы можете даже написать неплохую программу (я имею ввиду по функционалу). Лично мне они очень помогают в работе, и о некоторых вещах я уже просто забыл, когда это делал я в ручную.
Теперь перейдем непосредственно к основам этих батников. Как же они создаются, вам нужно просто создать простой текстовый документ открыть его и сразу на вкладке «файл->сохранить как» вписать вместо расширения «текстовый документ.txt» например «текстовый документ.bat» и сохранить, вот и получится у нас батник с расширением .bat но он пока ничего не делает.
Для начала я приведу пример батника который я использую у себя на работе для архивации документов.
"C:\Program Files\WinRAR\winrar.exe" a -r -dh -ed -agYYYY-mm-dd E:\arhaccounts\ d:\accounts\*.doc
"C:\Program Files\WinRAR\winrar.exe" a -r -dh -ed -agYYYY-mm-dd E:\arhaccounts\ d:\accounts\*.xls
"C:\Program Files\WinRAR\winrar.exe" a -r -dh -ed -agYYYY-mm-dd E:\arhaccounts\ d:\accounts\*.txt
Теперь немного расскажу, что делает этот батник. Запускается WinRar, потом идут команды винрара (a это добавить в архив), потом ключи винрара (-r обрабатывать вложенные папки, -dh открывать совместно используемые файлы, -ed не добавлять пустые папки, далее идет добавление к имени архива текущею дату, YYYY-mm-dd формат даты), потом показан путь где будет лежать конечный архив, ну а потом путь и маска файлов какие нужно заархивировать, мы архивируем все документы word, Excel и текстовые файлы, остальные мы считаем незачем архивировать. У нас архивация идет на другой диск и мы еще копируем полученный архив на другой комп, для того чтобы архивы хранились и в другом кабинете. Копирование идет по сети соответственно комп на который копируется архив должен быть включен. Для этого можно использовать такую команду:
copy E:\arhaccounts\*.rar \\namecomp\arhiv\
Теперь рассмотрим основные команды, которые вы можете использовать.
Если вам нужно удалить файл пропишите следующие:
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 файлов (батников). Сообщество программистов
Последние добавленные статьи
Предыдущая
Следующая
Как восстановить базу данных из архива -…Очень часто бывает нужно восстановить базу данных из архива, например, для создания копии базы, которая будет использоваться для тестов, или например, вы переустановили операционную систему и вам нужно восстановить базу...
ИТ-аутсорсинг: за и противАутсорсинг покоряет новые сферы бизнеса, и мир информационных технологий - не исключение. Но как только дело касается минимальной приватности, отечественные предприниматели проявляют недоверие и предпочитают обходиться собственными ресурсами. Давайте подробно...
Как научиться программировать?Очень популярный вопрос, у тех людей, которые хотят научиться писать программы, разрабатывать базы данных, создавать сайты и многое другое. На самом деле это очень актуальный вопрос на сегодняшний день, так...
Урок Delphi 7Всем привет!И так, я сам не профессиональный программист(да и программистом себя назвать боюсь) теории и всякой прочей не нужной чепухи я не буду писать, т.к сам по себе...
Сайт без посетителей? Нонсенс!В чем смысл создания сайта для организации, коммерческой или производственной фирмы или отдельно взятого человека? Организация, в том числе высшее учебное заведение или школа, с сайтом получают представительство в Сети,...
|
Последние добавленные файлы
Предыдущая
Следующая
Postgresql – Документация для изучения э…Документации для изучения postgresql в Интернете достаточно мало, особенно книг, подробных инструкций, да и простого руководства пользователя найти трудно, и для того чтобы облегчить ваш поиск необходимой информации по этой...
Все о реестре Windows – Книги для изучен…Надоело искать помощь в интернете по настройкам реестра? Хотите сами знать все о реестре операционной системы Windows? то Вам обязательно необходимо прочитать эти книги.
Linux Для начинающих и профессионалов (К…В Интернете нет так много материала по Linux, он есть, но необходимо затратить не мало усилий, чтобы найти то, что вам нужно, поэтому я решил сгруппировать весь необходимый материал для...
Сборник книг по изучению Active Director…Здесь собран материал, для того чтобы вы смогли освоить такую технологию как Active Directory для Windows Server 2003.
Сборник книг по изучению маршрутизаторов…Отличный сборник книг для освоения таких маршрутизаторов как Cisco. Материал подходит как для начинающих, так и для профессионалов.
|
-
SoftVT604 Очков -
admin530 Очков -
Post-ExtrimaL158 Очков -
dyachuk156 Очков -
Gek-Lamer140 Очков
Комментарии
Вопрос: можно ли реализовать удаление накопленных архивов скажем 2-х недельной давности?
Будет другим немного, так как 7zip использует другие ключи
вопрос: как написать батник чтоб он через определенное время нажимал на разные кнопки клавиатуры, понимаю вопрос- ЗАЧЕМ??? играю в онлайне постоянно надо выполнять одни и те же действия долго и много раз. а ведь надо и другими делами заниматся на работе)) еще момент- его(батник) надо запаковать в ехе. зарание спасибо.
Суть того что мне надо:
Нужно чтобы файлы с .dem расширением созданные за последние 20 часов запаковывался в архив, потом были перемещены в другую папку.
И нужен еще один батник который удаляет файлы клторые хранятся уже более недели
Например: Сделал батник с командой перезагрузка ОС. Не могу понять, почему на хр работает, а на embedded и win2000 не работает. Может кто-нибудь направит на умную мысль???:)
Вот самое простое, разархивирует все архивы, которые лежат в одной папке с батником -
"C:\Program Files\WinRAR\wi nrar.exe" X *.rar
Например так:
"C:\Program Files\WinRAR\wi nrar.exe" e -p123 test.rar
где, 123 пароль а test.rar сам архив
Метка ставиться вот так
:metka
а чтобы перейти к ней
GOTO metka
В статье, кстати, есть пример использования меток