Меню Рубрики

Как написать bat скрипт

Написание батников/сценариев (cmd)


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

Например:

  1. Необходимо раз в месяц удалять все файлы из папки обмен.
  2. «Добросовестные» пользователи не выключают компьютеры, и уходят домой, а вам потом по голове дают за то, что компьютер работал, и жрал электроэнергию.
  3. У вас 20 человек в кабинете, принтер один и всем нужно выводить на него печать. Можно написать батник закинуть его в обмен зайти в кабинет и всем пользователям сказать зайдите туда-туда, нажмите то-то, и можете печатать, а если у Вас есть active directory, то можно распространить с помощью неё.

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

Давайте разберем первый пример:

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

  1. Открываем WordPad, блокнот не подойдет, он не умеет сохранять в кодировке 866.
  2. Пишем:

Команда del- удаляет файлы, ключ q говорит, удалять файлы без подтверждения пользователя, дальше идет путь до папки обмен, команда pause – это для вашего удобства, что бы окно не закрылось автоматически после выполнения работы скрипта, можно её не писать.

  1. Дальше выбираем Файл => Сохранить как => в строке Имя файла пишем допустим, del_obmen.bat, жмем Ок, запускаем и наслаждаемся.

Второй пример:

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

Пояснения я думаю ни к чему.

3. Дальше выбираем Файл => Сохранить как => в строке Имя файла пишем допустим, shutdown.bat, жмем Ок, запускаем и наслаждаемся.

4. Дальше открываем панель управления => планировщик заданий, создаем задание в 20 00, думаю понятно для чего.

Третий пример:

У вас 20 человек в кабинете, принтер один и всем нужно выводить на него печать. Можно написать батник закинуть его в обмен зайти в кабинет и всем пользователям сказать зайдите туда-туда, нажмите то-то, и можете печатать, а если у Вас есть active directory, то можно распространить с помощью неё.

Start – запуск, \\192.168.0.37 – ip адрес, \SamsungU – имя принтера.

Если у вас ip адреса раздаются по DHCP, то лучше ввести не ip адрес, а имя компьютера.

3. Дальше выбираем Файл => Сохранить как => в строке Имя файла пишем допустим, print.bat, жмем Ок, запускаем и наслаждаемся.

Создание bat Файла своими руками

Основные команды, которые используются для написания батников:

ASSOC — Отображает или модифицирует связи расширений файлов

AT — Планирует команды и программы для выполнения на компьютере.

ATTRIB — Отображает или изменяет атрибуты файла.

BREAK — Устанавливает или отменяет проверку комбинации [Ctrl+C].

CACLS — Отображает или модифицирует списки управления доступом (ACLs) для файлов.

CALL — Вызывает один *.BAT-файл из другого.

CD — Отображает имя или изменяет имя текущей директории.

CHCP — Отображает или устанавливает номер активной кодовой страницы.

CHDIR — Отображает имя или изменяет имя текущей директории.

CHKDSK — Проверяет диск и отображает отчет о состоянии.

CMD — Стартует новый экземпляр интерпретатора команд Windows NT.

COLOR — Устанавливает цвета по умолчанию для переднего и заднего плана консоли.

COMMAND — Стартует новую копию интерпретатора команд Windows.

COMP — Сравнивает содержимое двух файлов или установки файлов.

COMPACT — Отображает или видоизменяет сжатие файлов на патрициях Windows NT(NTFS).

CONVERT — Конвертирует FAT томов к формату файловой системы Windows NT(NTFS). Вы не можете конвертировать текущий диск.

COPY — Копирует один или больше файлов на другое место.

CTTY — Изменяет терминальное устройство, используемое для управления вашей системой.

DATE — Отображает или устанавливает дату.

DEL — Удаляет один или более файлов.

DEBUG — Выполняет отладку, тестирование программ и редактирование инструментальных средств.

DIR — Отображает список файлов и поддиректорий в директории.

DISKCOMP — Сравнивает содержимое двух дискет.

DISKCOPY — Копирует содержимое одной дискеты на другую.

DOSKEY — Редактирует командные строки, восстанавливает команды Windows и создает макрос.

ECHO — Отображает сообщения, или включает/выключает вывод команд.

EMM386 — Включает/выключает поддержку расширенной памяти EMM386.

ENDLOCAL — Заканчивает локализацию изменений окружающей среды в *.BAT-файле.

ERASE — Удаляет один или более файлов.

EXIT — Прекращает выполнение программы «CMD.EXE» (интерпретатор команд).

EXTRACT — Средство извлечения информации из CAB — файлов.

FC — Сравнивает два файла или установки файлов, и отображает различие между ними.

FIND — Ищет текстовую строку в файле или файлах.

FINDSTR — Поиск строк в файлах.

FOR — Выполняет указанную команду для каждого файла в наборе файлов.

FORMAT — Форматирует диск для использования с Windows.

FTYPE — Отображает или модифицирует типы файлов, используемых в связях расширений.

GOTO — Направляет интерпретатор команд Windows NT к помеченной строке в *.BAT-файле.

GRAFTABL — Способность Windows отображать символы псевдографики, вставленные в графическом режиме.

HELP — Обеспечивает информацию Help для команд Windows.

IF — Выполняет обработку условия в *.BAT-файле.

KEYB — Конфигурирует клавиатуру для заданного языка.

LABEL — Создает, изменяет, или удаляет метку тома на диске.

LOADHIGH(LH) — Загружает программу в верхние адреса памяти.

MEM — Отображает величину используемой и свободной памяти в вашей системе.

MKDIR — Создает директорию.

MODE — Конфигурирует системное устройство.

MORE — Отображает вывод одного экрана за раз.

MOVE — Перемещает один или более файлов из одной директории в другую на том же диске.

NETSTAT — Отображает статистики протоколов и текущих сетевых соединений TCP/IP.

NLSFUNC — Загружает информацию, специфическую для страны.

PATH — Отображает или устанавливает путь поиска для выполняемых файлов.

PAUSE — Приостанавливает обработку *.BAT-файла и отображает сообщение.

POPD — Восстанавливает предыдущее значение текущей директории, сохраненной по PUSHD.

PRINT — Печатает текстовый файл.

PROMPT — Изменяет подсказку к командам Windows.

PUSHD — Сохраняет текущую директорию, потом изменяет.

RECOVER — Восстанавливает читаемую информацию с плохого или дефектного диска.

REM — Записывает комментарии (примечания) в *.BAT-файлы или CONFIG.SYS.

REN — Переименует файл или файлы.

RENAME — Переименует файл или файлы.

RESTORE — Восстанавливает файлы, которые были архивированы с использованием команды BACKUP.

RMDIR — Удаляет директорию.

SET — Отображает, устанавливает или удаляет переменные среды Windows.

SETLOCAL — Начинает локализацию изменений среды в *.BAT-файле.

SETVER — Устанавливает номер версии MS-DOS, который Windows сообщает программе.

SHIFT — Сдвигает позицию замещаемых параметров в *.BAT-файле.

SMARTDRV — Инсталлирует и конфигурирует утилиту кэширования диска SMART — драйва.

SORT — Сортирует входной поток.

START — Стартует отдельное окно для выполнения указанной программы или команды.

SUBST — Связывает путь с литерой диска.

SYS — Копирует файлы системы MS-DOS и интерпретатор команд на указанный вами диск.

TIME — Отображает или устанавливает системное время.

TITLE — Устанавливает заголовок окна для сеанса «CMD.EXE» .

TREE — Графически отображает структуру директория в драйве или путь.

TYPE — Отображает содержимое текстового файла.

VER — Отображает версию Windows.

VERIFY — Сообщает Windows, проверять ли правильность записи файлов на диск.

VOL — Отображает метку дискового тома и серийный номер.

XCOPY — Копирует файлы и деревья директории.

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

Источник статьи: http://27sysday.ru/2012/cmd

Учение основ cmd(bat) (ДЛЯ НОВИЧКОВ)

Хэллоу пикабушник. Я хочу, чтобы ты понял весь программный язык cmd(bat) на понятном языке. Ну, давай приступим?

Для начала Разберем, что такое cmd(bat) и с чем его едят?

Cmd.exe — интерпретатор командной строки

ИНТЕРПРЕТАТОР — Тот, кто интерпретирует что-нибудь. ИНТЕРПРИРОВАТЬ Истолковать -вывать раскрыть -ывать смысл чего-нибудь, объясняя.

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

Как открыть командную сроку(cmd.exe)

нажмите сочетание клавиш WIN+R, введите cmd и нажмите кнопку Ok;
нажмите кнопку «Пуск» введите в поле поиска «командная строка» и щелкните в результатах поиска «Командная строка» (можно ввести «cmd» и выбрать в результатах «cmd»);
нажмите «Пуск» ⇒ «Все программы» ⇒ «Стандартные» ⇒ «Командная строка»;
открыть в Проводнике папку C:\Windows\System32 и запустить файл cmd.exe.

И так, давайте создадим на рабочем столе текстовый документ, а далее впишем в него

Для вывода сообщения в BAT файлах используется команда echo: Вывод сообщений и переключение режима отображения команд на экране. ECHO [ON. OFF] ECHO [сообщение] Ввод ECHO без параметров позволяет выяснить текущий режим отображения команд.

В данном случае напишем @Echo off

После напишем такую строку A: Что это такое? Это так сказать, строка, позволяющая делать оборот(обратно выполнять функции,команды после этой строки)

Далее после A: напишем, echo HELLO MY FRIEND (тут вышла ошибочка, пишем :A, а не A: )

echo — команда, позволяющая показывать сообщения, в моем случае это «HELLO MY FRIEND«

После давайте напишем команду, которая будет открывать окно, в данном случае это команда «Start»

Команда START — запуск приложения в новом окне

Команда START позволяет запускать приложения в отдельном окне, с возможностью указания некоторых параметров их выполнения.

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

Параметры командной строки:

«заголовок» — заголовок окна. Обязательно в двойных кавычках.

B — запуск приложения без создания нового окна с отключением обработки сочетания клавиш CTRL+C. Если приложение не обрабатывает сочетание клавиш CTRL+C самостоятельно, единственным способом его прерывания является использование сочетания клавиш CTRL+Break.

I — Новой средой станет исходная среда, переданная cmd.exe, а не текущая среда.

MIN — Запуск команды/программы в свернутом окне.

MAX — Запуск команды/программы в развернутом окне.

SEPARATE — Запуск 16-разрядной программы Windows в отдельной области памяти.

SHARED — Запуск 16-разрядной программы Windows в общей области памяти.

LOW — Запуск приложения с приоритетом IDLE (самый низкий приоритет).

NORMAL — Запуск приложения с приоритетом NORMAL.

HIGH — Запуск приложения с приоритетом HIGH.

REALTIME — Запуск приложения с приоритетом REALTIME (самый высокий приоритет).

WAIT — Запуск приложения с ожиданием его завершения.

ABOVENORMAL — Запуск приложения с классом приоритета ABOVENORMAL (выше стандартного)

BELOWNORMAL — Запуск приложения с классом приоритета BELOWNORMAL (ниже стандартного)

команда/программа — Если это внутренняя команда cmd.exe или пакетный файл, обработчик команд (cmd.exe) запускается с ключом /K. Это означает, что окно не будет закрыто после завершения команды. Если это не внутренняя команда cmd.exe и не пакетный файл, значит, это программа, которая будет запущена в графическом или текстовом окне.

Но давайте напишем start http://google.com — при данное команде, будет открываться гугл.

После напишем echo I KILLED YOUR WINDOWS (Мини шуточка пхпх) — команда которая будет выводить текст. И на последок пишем goto A (для работы круга)

Вот как все это должно выглядеть

Нажимаем «Файл» «Сохранить как» Рабочий стол

Тип файла выбираем «Все файлы» и к названии вашего файла(в моем случае пикабу) приписываем .bat

Все, теперь открываем и проверяем!

Теперь можем видеть такую картину:

в вк вы можете попросить меня скинуть вам немножко жоще батник xD

Источник статьи: http://pikabu.ru/story/uchenie_osnov_cmdbat_dlya_novichkov_5573579

Написание bat файлов — примеры батников

В данной статейки мы рассмотрим такую полезную вещь как «батник». Давайте сначала дадим определение, что такое bat файл. Пакетные или batch файлы — это простые текстовые файлы, содержащие наборы команд (инструкцию) интерпретатора и имеющие расширение bat или cmd (cmd работают только в ОС семейства NT). Создавать и редактировать такие файлы можно при помощи обычного блокнота или любого другого текстового редактора.

Теперь Вы спросите, зачем нужно уметь писать такие бат файлы? И зачем они нужны? Попытаюсь объяснить.

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

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

Теперь перейдем непосредственно к основам этих батников. Как же они создаются, Вам нужно просто создать простой текстовый документ открыть его и сразу на вкладке «Файл->сохранить как», вписать вместо расширения «Текстовый документ.txt», например «Текстовый документ.bat» и сохранить, вот и получится у нас батник с расширением .bat, но он пока ничего не делает.

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

Теперь немного расскажу, что делает этот батник. Запускается WinRar, потом идут команды винрара:

  • a — это добавить в архив;
  • -r — обрабатывать вложенные папки;
  • -dh — открывать совместно используемые файлы;
  • -ed — не добавлять пустые папки;
  • YYYY-mm-dd — добавляем к имени архива текущую дату (формат даты);
  • E:\arhaccounts\ — путь, где будет лежать конечный архив;
  • d:\accounts\*.doc — путь и маска файлов, какие нужно заархивировать.

В данном случае мы архивируем все документы Word, Excel и текстовые файлы, архивировать остальные нам не требуется. У нас архивация идет на другой диск, и мы еще копируем полученный архив на другой компьютер, для того чтобы архивы хранились и в другом кабинете. Копирование идет по сети соответственно компьютер, на который копируется архив, должен быть включен. Для этого можно использовать такую команду:

Примеры команд для bat файлов

Теперь рассмотрим основные команды, которые Вы можете использовать.

Если Вам нужно удалить файл пропишите следующие:

Для того чтобы удалить весь каталог пропишите:

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

  • del d:\file\ — это как раз и есть удаление всех файлов;
  • echo Y| — команда подтверждает удаление т.к. если не прописать эту команду, то Вы увидите сообщение о подтверждение удаления – «Продолжить [Y(да)/N(нет)]», и Вам нужно будет каждый раз отвечать на этот вопрос.

Сейчас давайте рассмотрим пример посложней, в котором уже выполняется условие:

Теперь объясняю, допустим, Вам нужно разархивировать архив 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 или тем какой у Вас). Вот пример такого батника:

И все файлы с расширением doc, которые находятся в каталоге D:\catalog будут перемещаться на флешку. Теперь хочу сказать, что в батниках можно использовать сценарии (скрипты) при помощи Windows Scripting Host и если нужно, например чтобы выводилось сообщение, после того как файлы скопированы (предыдущий пример) вставьте вот это:

На самом деле про написание батников можно разговаривать много и в одну статью это, конечно же, не уместить, здесь я показал всего лишь принципы, которые используются при написании bat файлов, так сказать основу. Если Вы хотите узнать больше команд для написания батников, Вы можете легко посмотреть их, набрав в командной строке (Пуск — Выполнить – cmd) команду help, но там, конечно же, не все команды, что можно использовать в батниках. Удачи в написание BAT файлов (батников).

Источник статьи: http://info-comp.ru/obucheniest/81—bat-.html


0 0 голоса
Article Rating
Подписаться
Уведомить о
guest

0 Комментарий
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии