Тарифы Услуги Сим-карты

Пакетный файл windows. Что такое bat-файлы и зачем они нужны? Как из bat файла обойти проверку даты

Или cmd.exe) читает его строка за строкой и последовательно исполняет команды. Пакетный файл - аналог cкриптовых файлов командной строки (shell script) в Unix-подобных операционных системах .

Командный интерпретатор в MS-DOS (а следом и в семействе Windows 9x) имеет название COMMAND.COM . Наиболее известным пакетным файлом в этих системах является AUTOEXEC.BAT , который автоматически исполняется COMMAND.COM во время загрузки операционной системы.

Также, существуют компиляторы пакетных файлов (например, Bat To Exe Converter), преобразующие пакетные файлы в самостоятельные исполнимые программы .

Применение

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

Многие вирусы написаны в виде пакетного файла, известны даже генераторы вирусов, являющиеся пакетными файлами.

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

Пакетные файлы могут содержать как внутренние команды, обрабатываемые непосредственно COMMAND.COM или CMD.EXE, так и обращения к внешним утилитам, существующим в виде отдельных программ (файлов.EXE либо любых других исполнимых модулей).

Пример

Пример пакетного файла, вычисляющего выражения:

@ echo off :begin Cls Title Калькулятор Color 71 Echo Введите уравнение: Set / P exp = Set / A result=% exp% Title Вычислено Echo Ваше уравнение: %exp% Echo Решение: %result% Pause> nul goto begin

  1. Выключение эха (вывода выполняющихся строк на экран).
  2. Метка, создающая цикличность программы.
  3. Очистка экрана.
  4. Изменение заголовка окна Windows на строку «Калькулятор».
  5. Изменение цвета шрифта и фона (тёмно-синий на светло-сером).
  6. Вывод строки «Введите уравнение».
  7. Создание переменной exp для хранения ввода пользователя.
  8. Вычисление результата выражения и помещение его в переменную result .
  9. Изменение заголовка окна на «Вычислено».
  10. Вывод строки «Ваше уравнение» и значения переменной exp .
  11. Вывод строки «Решение» и значения переменной result .
  12. Остановка выполнения кода до нажатия любой клавиши.
  13. Переход на метку begin, выполнение кода начнётся со следующей после метки команды.

См. также

Ссылки

  • Пакетные (batch, bat) файлы WindowsFAQ
  • Синтаксис некоторых команд пакетного файла Подробная справка.
  • Виталий Бочкарёв. Сценарии для администрирования (31 августа 2009). Архивировано из первоисточника 27 февраля 2012. Проверено 15 декабря 2009.
  • Алексей Александров. Урок bat-аники // RSDN Magazine . - 27 октября 2005. - № 2.
  • Билл Стюарт. 10 советов по использованию сценариев // Windows IT Pro . - Открытые системы, ???. - № ???.

Wikimedia Foundation . 2010 .

Смотреть что такое "Пакетный файл" в других словарях:

    У этого термина существуют и другие значения, см. Файл (значения). Файл (англ. file) блок информации на внешнем запоминающем устройстве компьютера, имеющий определённое логическое представление (начиная от простой последовательности… … Википедия

    Файл (англ. file папка, скоросшиватель) концепция в вычислительной технике: сущность, позволяющая получить доступ к какому либо ресурсу вычислительной системы и обладающая рядом признаков: фиксированное имя (последовательность символов, число или … Википедия

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

    Файл (англ. file папка, скоросшиватель) концепция в вычислительной технике: сущность, позволяющая получить доступ к какому либо ресурсу вычислительной системы и обладающая рядом признаков: фиксированное имя (последовательность символов, число или … Википедия

    Эта статья или раздел нуждается в переработке. Пожалуйста, улучшите статью в соответствии с правилами написания статей. У этого термина … Википедия

    BAT Расширение файла: .bat, .cmd (только Windows NT) Тип формата: Скриптовый язык программирования Пакетный файл (англ. batch file) текстовый файл в OS/2 или Windows, содержащий последовательность команд, предназначенных для исполнения командным … Википедия

    Тип Командный интерпретатор Разработчик Seattle Computer Products, Microsoft, IBM, Novell и др. Операционная система DOS (MS DOS, DR DOS, FreeDOS и т. д.), OS/2, Windows 9x и др. Язык … Википедия

    - (от англ. automatic execution автоматическое исполнение и англ. batch пакет, группа) системный пакетный файл (файл, содержащий последовательность команд на языке интерпретатора командной строки поставляемого в… … Википедия

Министерство образования Российской Федерации

РАБОТА С ПАКЕТНЫМИ ФАЙЛАМИ

В СРЕДЕ WINDOWS

по курсу «Операционные системы»

для студентов специальности 220200

дневной формы обучения

Одобрено

редакционно-издательским советом

Саратовского государственного

технического университета

Саратов 2010

РАБОТА С ПАКЕТНЫМИ ФАЙЛАМИ

В СРЕДЕ WINDOWS

Методические указания к лабораторной работе

по курсу «Операционные ситемы»

Рецензент А.Ф. Резчиков

Редактор О.А. Панина

Лицензия ИД № 06268 от 14.11.01

Подписано в печать 27.10.10 Формат 60х84 1/16

Саратовский государственный технический университет

410054 г. Саратов, ул. Политехническая, 77

Введение

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

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

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

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

Интерпретатор команд и пакетные файлы

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

В Windows используется два интерпретатора команд commad.com и cmd.exe, которые можно запустить через меню «Пуск» (Пуск-> Выполнить-> cmd -> ОК или Пуск-> Выполнить-> commad -> ОК). На рис. 1 показана возможность использования справки по командам DOS/Windows. Справка становится доступной при наборе команды help в командной строке.

Рис.1 Интерпретатор команд commad.com

На рис. 2 показана возможность создания нового файла с использованием команды copy con имя_файла.расширение.

Р
ис.2. Интерпретатор командcmd.exe

Использование пакетных файлов (*.cmd или *.bat) помогает автоматизировать выполнение нескольких заданий при установке и загрузке Windows. При этом никакого вмешательства пользователя не требуется. Эти файлы могут быть выполнены из cmdlines.txt, svcpack.inf , RunOnceEx раздела в реестре, или из секции в файле winnt.sif .

Пакетные файлы поддерживают все команды, которые могут быть выполнены из командной строки. Чтобы увидеть командую строку достаточно проделать следующее: Пуск->Выполнить->cmd->ОК

Рассмотрим простейший пакетный файл. Для этого необходимо открыть Блокнот и набрать в нем следующий текст:

TITLE Batch File Testing

ECHO Hello World

ECHO Starting Notepad

START notepad

ECHO. ECHO Starting Wordpad

START Wordpad

ECHO .

EXIT

Затем нужно сохранить файл с любым именем и в любом месте, но с расширением *.cmd (а не.txt, которое Блокнот присвоит по умолчанию). При запуске этого файла он назначит окну имя "Batch File Testing", запустит Блокнот и WordPad, попросит нажать любую клавишу для продолжения работы и закроет окно.

Таблица 1

Значения команд, использованных в пакетном файле

@echo off

Скрывает строку C:\> и все команды, используемые в пакетном файле

Создает пробел между строками

echo message

Отображает сообщение в окне, исключительно с информационными целями

Название окна

Запускает приложение или установочный процесс

Отображает сообщение "Press any key to continue..." ("Нажмите любую клавишу для продолжения...")

Закрывает командную строку

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

start /wait %systemdrive%\install\some_application\setup.exe / ключ / еще ключ ,

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

Пакетные файлы могут быть запущены из cmdlines.txt или svcpack.inf , которые будут исполнены на Т-13/Т-12 этапе установки Windows (Т-13 означает 13 минут до окончания установки).cmdlines.txt удобен для таких задач как Добавление Пользователей, или для импортирования заранее подготовленных ключей реестра HKEY_CURRENT_USER в профиль по умолчанию (Default Profile).

Метод svcpack.inf, как правило, используется для установки обновлений (хотфиксов). Однако ничто не мешает рассматривать пакетный файл как еще один хотфикс.

Пример содержимого пакетного файла:

@echo off

TITLE Windows XP SP2 - Unattended Installation

ECHO Over the next few minutes you will see automated installations

ECHO of various sofware applications, and registry tweaks being

ECHO implemented.

ECHO Removing Wallpapers and Screensavers...

DEL "%systemroot%\*.bmp"

DEL "%systemroot%\Web\Wallpaper\*.jpg"

DEL "%systemroot%\system32\dllcache\*.scr"

DEL "%systemroot%\system32\*.scr"

ECHO Removing useless shortcuts...

Update.lnk"

DEL "%systemdrive%\Documents and Settings\All Users\Start Menu\Set

Program Access and Defaults.lnk"

DEL "%systemdrive%\Documents and Settings\All Users\Start Menu\Windows

Catalog.lnk"

ECHO Installing TweakUI 2.10 Powertoy

ECHO Please wait...

start /wait %systemdrive%\Install\TweakUI.msi /qn

ECHO Applying Registry Tweaks...

REGEDIT /S %systemdrive%\Install\RegTweaks.reg

ECHO Deleting ASP.NET User Account created by .NET Framework 1.1...

net user aspnet /delete

Данный пакетный файл производит удаление обоев и скринсэйверов, устанавливаемых по умолчанию системой, а также некоторых ярлыков. Затем устанавливает TweakUI, импортирует ключи реестра и удаляет учетную запись ASP.NET, созданную при установке.NET Framework.

Вызов внешних командных файлов:

1. После выполнения вызванного файла управление не передается в вызывающий файл.

@ ECHO OFF

REM Вывод списка log -файлов

DIR C :\*. log

REM Передача выполнения файлу f . bat

COPY A:\*.* C:\

2. После выполнения вызванного файла управление передается в вызывающий файл:

@ECHO OFF

REM Вывод списка log -файлов

DIR C:\*.log

REM Передача выполнения файлу f . bat

CALL f.bat

COPY A:\*.* C:\

Файл cmdlines.txt нужно положить в директорию $OEM$, и Windows автоматически найдет его во время установки. Все пакетные файлы, запускаемые из cmdlines.txt , должны находиться в той же директории, что и cmdlines.txt .

Файл svcpack.inf сохраняется в директории I386 на инсталляционном диске (необходимо удалить оттуда svcpack.in_ ). Все пакетные файлы, запускаемые из svcpack.inf , должны находиться в директории I386\svcpack, если только это не прописано иначе в самом файле.

В пакетных файлах широко используются команды передачи управления IF, FOR, SHIFT, а также параметры, передаваемые из командной строки и операторы перенаправления ввода-вывода >, >>, <, |. Полезными оказываются операторы: «+» ‑ слияния файлов, «?» ‑ замены одного символа в имени файла или расширении, «*» ‑ замены нескольких символов в имени файла или расширении.

Системными именами являются: CON, NULL, AUX, COM1, COM2, PRN, LPT1, LPT2. Ими нельзя называть файлы.

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

Задания

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

2. Создать директорию. Наполнить ее несколькими файлами с двумя типами расширений. При помощи ключевого слова for написать bat-файл, осуществляющий копирование всех файлов одного типа из данной директории в один файл, а со вторым – в другой.

3. Создать директорию. Наполнить ее несколькими файлами с разным расширением. При помощи ключевого слова for написать bat-файл, осуществляющий удаление всех файлов с расширением.txt.

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

6. Создать пакетный файл, выполняющий авторизацию пользователя, вывод даты и системного времени на экран, создать папку с именем, равным текущей дате, в этой папке создать файл с произвольным именем (определяет пользователь), осуществить вывод во вновь созданный файл чисел от 1 до 10.

    Изучить структуру пакетных файлов.

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

    Получить у преподавателя задание, выполнить его.

    Подготовить отчет.

Требования к оформлению отчета

    Титульный лист.

    Цель работы и задание на выполнение работы.

    Тест пакетного файла.

    Скриншоты выполнения пакетного файла.

    Выводы о работе.

Вопросы для самопроверки

    Определение пакетного файла.

    Назначение пакетных файлов.

    Создание bat-файла.

    Основные команды.

Список используемых источников

    [Электронный ресурс]: Разработка пакетных файлов. – http://www.oszone.net/2245

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

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

Особенностью файлов данного типа является отсутствие внутри какого-либо кода - имеется только тактовая информация, которую считывает и исполняет командный DOS-процессор, совместимый практически со всеми версиями операционной системы Windows. Одним из ярких примеров является файл autoexec.bat, который необходим для запуска этой ОС, так как именно он осуществляет ее настройки в ходе запуска.

Основные возможности командных файлов

Команды, которые содержит bat-файл, по функционалу можно условно разделить на несколько групп:

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

Выполнение командных файлов

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

При нахождении командного файла в другом каталоге необходимо кроме полного имени этого файла прописать полный путь до каталога его хранения. Расширение файла также можно не прописывать. Например, текущий каталог d:\photo\work, а командный файл vera.bat, который нужно выполнить с параметрами resize.doc и /p, находится в каталоге d:\photo\home. Тогда для того, чтобы осуществился запуск нашего файла, нужно прописать команду d:\photo\home\vera resize.doc /p или команду..\home\vera resize.doc /p.

Прерывание работы

Исполняемые после запуска команды bat-файлов можно прервать комбинациями кнопок + и +. На дисплее появится запрос на прерывание выполнения командного файла с запросом, ожидающим ввода Yes или No. Если ввести Y, то выполнение прервется, а оставшийся список команд bat-файла будет проигнорирован. Если введете символ N, то выполнение продолжится со следующей команды из списка.

Вызов другого командного файла

Bat-файлы могут содержать в себе ссылки на исполнение других скриптов. Если просто прописать в теле скрипта bat-файл, команды после него уже исполняться не будут, так как управление передается на другой батник и будут выполнены команды уже из него. Если требуется возврат после запуска внутреннего файла, то его можно вызвать командой CALL. Формат команды выглядит так: CALL имя-бат-файла [параметры запуска].

Параметрами, которые передаются вызываемому командному файлу (файлам), обычно являются символы %1 - %9. Когда команды bat-файлов все последовательно будут пройдены, продолжится выполнение исходного скрипта со следующей строки.

Пошаговое выполнение

Бывают случаи, когда команды bat-файлов нужно выполнить пошагово (с остановкой после каждой строчки). Наиболее часто такой режим требуется при отладке или тестировании скриптов. Написание команды выглядит так: COMMAND /y/c имя _скрипта [параметры].

При выполнении на каждую команду будет выдаваться запрос Y или N. Если требуется выполнение команды — жмем клавишу Enter или Y. Если нужно пропустить команду — жмем ESC или N.

Отключение и включение вывода команд на экран

Когда запускается bat-файл, команды построчно перед выполнением отображаются на экране и после этого выполняются. Иногда это вызывает неудобство, так как при большом батнике команды длинным списком пробегают перед пользователем на экране, а иногда требуется их показ, например, для диалога или отладки. Чтобы bat-файл команды выводил на дисплей, применяется команда ECHO ON. Для отключения этого режима нужно ввести ECHO с параметром OFF. При этом все исполняемые далее команды показываться на экране уже не будут.

Для отключения вывода только какой-либо одной строки батника на экран можно использовать в самом начале этой строки символ @. Чаще всего этот символ можно встретить в паре с командой @ECHO OFF для исключения вывода ее на дисплей монитора. Такой режим часто используют злоумышленники, создавая на основе bat-файлов вирусы или доставляя мелкие и крупные неприятности пользователям компьютеров.

Сообщения при исполнении команд

Если после команды ECHO будут расположены символы, отличные от ON или OFF, то они будут выводиться на экран в любом режиме. Если ECHO будет без параметров, то она выдает на экран состояние режима отображения исполняемых команд — включен или выключен.

При желании можно воспроизвести даже (писк) компьютера, используя bat-файл. Команды, примеры которых приведены далее, основаны на операторе ECHO с добавлением специальных символов.

Для воспроизведения звукового сигнала нужно вывести стандартный символ с кодом 7. Сделать это можно, нажав клавишу и «7» на цифровой клавиатуре (с надписью home).

Для того чтобы повысить удобочитаемость сообщений можно применить команду ECHO с параметром «.» (она ставится сразу за командой без пробела) или специальным символом с кодом 255. На экране это будет выглядеть как пустая строчка.

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

ECHO-сообщение >> имя файла — команда добавляет строчку в конец существующего файла. Если такого файла в данной директории нет, то создается новый файл.

ECHO-сообщение > имя файла — этой командой создается новый файл, и в него записывается текущая строчка. В случае наличия такого файла в текущей директории, содержимое его будет удалено и записана команда или ее результат.

Использование комментариев

Для удобства редактирования скриптов используется команда REM. Все находящиеся после нее команды bat-файлов Windows игнорирует при исполнении. Их можно увидеть при редактировании и при пошаговом режиме. Во всех других случаях комментарии на экран выводиться не будут.

Команда задержки в bat-файле

Иногда во время выполнения батника возникает необходимость временно остановить исполнение команд, например, для ожидания реакции пользователя, для увеличения времени на прочтение длинного сообщения, для вставки диска, подтверждения присутствия пользователя или для отладки пакетного файла. Команда задержки в bat-файле пишется как PAUSE без параметров. При этом на дисплее отобразится сообщение типа «Нажмите любую клавишу для продолжения», и выполнение скрипта будет приостановлено до нажатия кнопки клавиатуры. Если будет нажата комбинация + или +, то система воспримет это как завершение работы исполняемого файла и выдаст запрос на подтверждение завершения его работы: «Прервать выполнение командного файла? (Y/N)». Если нажать клавишу Y, то произойдет прерывание работы скрипта в этом месте и все оставшиеся невыполненные команды будут проигнорированы. При нажатии N выполнение будет продолжаться со следующей команды. При паузе нажатие любых других буквенно-цифровых клавиш, а также «Пробел» и «Ввод» выполнение исполняемого файла будет продолжаться со следующей команды.

списка файлов

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

FOR %x IN (список файлов) DO команда, где:

Х - любой символ, за исключением цифр от 0 до 9;

Список — разделенные пробелами имена файлов или название одного файла; при этом можно использовать спецсимволы «?» и «*» для замены от одного до нескольких знаков в названии файлов;

Команда — любая DOS-команда или программа, кроме FOR; если есть необходимость использования FOR, то вместо %x нужно указать %%x.

При использовании этой команды для написания bat-файлов нужно учитывать, что имена в программах формата DOS имеют ограничение по длине названия. Для того чтобы произвести переключение команды FOR на работу с длинными именами файлов, нужно не забыть перед ней запустить команду LFNFOR ON для включения режима работы с длинными именами и LFNFOR OFF для его отключения и возврата к стандартной длине файлов.

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

Переходы в bat-файлах

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

Команда перехода имеет написание GOTO с названием метки через пробел. Если параметра нет или название метки в командном файле не обнаружено, то работа скрипта на этой команде прекращается. Пример:

REM (запускаются требуемые команды).

В этом примере последовательное исполнение командного файла, дойдя до GOTO zzz, переходит на метку:zzz и продолжается с REM, игнорируя все, что находится между командой перехода и указанной меткой.

Использование условий при работе с bat-файлами

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

Условие представляет собой различные варианты выражений:

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

СТРОКА 1 == СТРОКА 2 - в случае полного совпадения строк условие становится истинным. Вместо строк можно подставить символы %0 - %9, тогда будут сравниваться параметры командного файла.

EXIST - имя файла - если указанный файл существует, то условие истинное.

NOT - условие — если указанное условие ложное, то на выходе команды получим истинное значение.

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

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

Использование bat-файлов при резервном копировании данных

Командные файлы сильно упрощают жизнь системным администраторам при осуществлении повседневной работы. Наиболее распространенной сферой их применения являются создание, удаление, переименование и многое другое. Все это основано на использовании команды bat-файла COPY. К примеру, можно создать программу, которая делает архивные копии документов из выбранной папки с пользовательскими данными определенных форматов, исключив, допустим, медиафайлы большого объема, обеспечив резервирование в папке с именем пользователя и и назвать ее "Команда_копирования_файлов.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 - добавляем к имени архива текущую дату (формат даты );
  • E:\arhaccounts\ - путь, где будет лежать конечный архив;
  • d:\accounts\*.doc - путь и маска файлов, какие нужно заархивировать.

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

Copy E:\arhaccounts\*.rar \\namecomp\arhiv\

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

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

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

Del d:\file\test.doc


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

Rd d:\file\

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

Echo Y| del d:\file\

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

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

@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 файлов (батников ).

Продолжение темы в статье -