Файлы пакетной обработки

Содержание

Слайд 2

Понятие пакетного файла

Пакетный файл (англ. batch file) — текстовый файл в MS-DOS или

Понятие пакетного файла Пакетный файл (англ. batch file) — текстовый файл в
Windows, содержащий последовательность команд, предназначенных для исполнения командным интерпретатором. После запуска пакетного файла, программа — интерпретатор (как правило COMMAND.COM или CMD.EXE) читает его строка за строкой и последовательно исполняет команды. Пакетный файл — аналог shell script в Unix-подобных операционных системах.
Пакетные файлы полезны для автоматического запуска приложений. Основная область применения — автоматизация наиболее рутинных операций, что регулярно приходится совершать пользователю компьютера. Примерами таких операций могут служить — обработка текстовых файлов; копирование, перемещение, переименование, удаление файлов; работа с папками; архивация; создание резервных копий баз данных и т. п. Пакетные файлы поддерживают операторы if и goto (а в системах семейства Windows NT и расширенный оператор for), что позволяет обрабатывать результаты выполнения предыдущих команд или приложений и в зависимости от этого выполнять дальше тот или иной блок команд (как правило, в случае удачного завершения приложение возвращает 0 в переменной errorlevel; в случае неудачного — 1 или большее значение).
Пакетные файлы в DOS имеют расширение .bat; для других операционных систем они могут иметь другие расширения — например, .CMD в Windows NT
Пакетные файлы могут содержать как внутренние команды, обрабатываемые непосредственно COMMAND.COM или CMD.EXE, так и обращения к внешним утилитам, существующим в виде отдельных программ (.EXE файлов). Данные программы значительно расширяют возможности пакетных файлов

Слайд 3

История

Программирование пакетных файлов появилось в MS-DOS и Windows с самого зарождения этих

История Программирование пакетных файлов появилось в MS-DOS и Windows с самого зарождения
операционных систем. Командные интерпретаторы этих систем предлагают два режима работы: интерактивный режим (когда пользователь непосредственно вводит команды в командной строке и немедленно их исполняет) и пакетный режим (когда пользователь запускает предварительно записанную последовательность команд). Концепция обоих режимов была почерпнута из различных Unix—оболочек, равно как и из других текстовых интерфейсов командной строки начала 1980-х годов, таких как CP/M.
Коммандный интерпретатор в MS-DOS имеет название COMMAND.COM. Эволюция этой ветви пакетного программирования прошла через различные версии MS-DOS к Windows 95, Windows 98 и, наконец, к Windows Me. Наиболее известным пакетным файлом в этих системах является AUTOEXEC.BAT, специальный пакетный файл, который исполняется во время загрузки операционной системы.
Новые версии Windows — Windows 2000, Windows XP и Windows Vista основаны не на MS-DOS, а на Windows NT. NT-подобные системы включают интерпретатор cmd.exe, который частично совместим с COMMAND.COM. Некоторые старые возможности MS-DOS недоступны, однако вместо них появились дополнительные возможности и команды. COMMAND.COM до сих пор включается в NT-подобные системы для обеспечения лучшей обратной совместимости.
Существуют различные другие командные интерпретаторы, разработанные не компанией Microsoft и предоставляющие расширенный синтаксис команд для пакетного программирования. Примером может служить 4DOS.
Также имеются различные компиляторы пакетных файлов, превращающие пакетные файлы в исполняемые программы.

Слайд 4

Расширение BAT получилось от слова Batch(пакет).
Так как эти файлы обычные ASCII

Расширение BAT получилось от слова Batch(пакет). Так как эти файлы обычные ASCII
файлы, то Вы можете их править в любом текстовом редакторе, например NotePad.
Сохранять файл необходимо с расширением bat
Контекстное меню Windows предусматривает специальный пункт меню для редактирования этих файлов.
При выборе этого пункта откроется блокнот и сможете изменять файл.

Редактирование bat файлов

Слайд 5

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

Специальных команд, которые используются в BAT файлах не много. Именно специальных, которые
могут пригодиться при создании логики командного файла. Конечно, эти команды относятся к внутренним командам MS DOS и могут использоваться в командной строке, но все-таки эти команды обретают смысл только в пакетных файлах.
call Вызов одного пакетного файла из другого.
echo Вывод сообщений и переключение режима отображения команд на экране.
for Запуск указанной команды для каждого из файлов в наборе.
goto Передача управления в отмеченную строку пакетного файла.
if Оператор условного выполнения команд в пакетном файле.
pause Приостановка выполнения пакетного файла и вывод сообщения
rem Помещение комментариев в пакетные файлы и файл CONFIG.SYS.
shift Изменение содержимого (сдвиг) подставляемых параметров для пакетного файла.
Кстати Вы можете легко получить подсказку по каждой этой команде в сеансе MS DOS используя ключ /?

Команды BAT файлов

Слайд 6

Копирование файлов

Рассмотрим такой пример. Вы постоянно работаете с тремя файлами, которые находятся

Копирование файлов Рассмотрим такой пример. Вы постоянно работаете с тремя файлами, которые
в разных каталогах жесткого диска, и часто создаете их резервные копии на USB-flash-drive. Для этого потребуется заходить в каждый каталог и копировать файлы по отдельности на флэшку.
Если написать простенький пакетный файл, то перечисленные действия сведутся к его запуску.
Предположим, что полные пути и имена файлов таковы: D:\Work\Profits.xls, D:\Home\Home.doc и C:\MyDocs\Oplata.doc, а G:\ – съемный флэш-диск для резервной копии. Тогда нужный пакетный файл будет выглядеть так:
copy D:\Work\Profits.xls G:\Backup\ copy D:\Home\Home.doc G:\Backup\ copy C:\MyDocs\Oplata.doc G:\Backup\ pause
ЗАДАНИЕ 1.
На диске D: создайте папку Home в ней семь папок : Zadanue1… Zadanue7
В папку Home скопируйте два любых файла с расширением doc, дайте им имена 11.doc, 12.doc
Выполняйте в папке Zadanue1. Создайте bat – файл и сохраните его под именем 1.bat. Команды файла должны копировать файлы 11.doc, 12.doc из папки Home в папку Zadanue1.

Слайд 7

Удаление файлов

Рассмотрим следующий пример. Многие пользователи иногда очищают содержимое временных каталогов. Для

Удаление файлов Рассмотрим следующий пример. Многие пользователи иногда очищают содержимое временных каталогов.
этого необходимо перейти в соответствующую папку (их может быть и две), выделить содержимое и удалить. После написания bat-файла очистка временных каталогов выполняется запуском файла с Рабочего стола. Итак, содержимое файла:
del /F /S /Q %temp% del /F /S /Q %tmp% pause

ЗАДАНИЕ 2.
Выполняйте в папке Zadanue2. Скопируйте из папки Zadanue1 в папку Zadanue2 файлы 11.doc, 12.doc
Создайте bat – файл и сохраните его под именем 2.bat. Команды файла должны удалять файла из папки Zadanue2.

Слайд 8

Вывод сообщений в BAT файлах

Для вывода сообщения в BAT файлах используется команда

Вывод сообщений в BAT файлах Для вывода сообщения в BAT файлах используется
echo:
Вывод сообщений и переключение режима отображения команд на экране.
ECHO [ON | OFF] ECHO [сообщение]
Ввод ECHO без параметров позволяет выяснить текущий режим отображения команд.
ЗАДАНИЕ 3.
Выполняйте в папке Zadanue3. Создайте файл под именем 3.bat. Запишите в него следующие команды
echo
echo hello batch files
Запускаем.
2. Как видите, режим Echo включен по умолчанию. В итоге отображается и команда и результат. Давайте его выключим.
echo off
echo hello batch files
Запускаем.
3. Но первая команда все равно видна. Это можно исправить, сразу вызвав CLS(команда очистки экрана) после отключения режима отображения. CLS это внутренняя команда MS DOS и может вызываться прямо из командной строки.
echo off
cls
echo hello batch files
Запускаем.

Слайд 9

Создание программ

В BAT файлах можно использовать любые команды MS DOS. Смысл нашей

Создание программ В BAT файлах можно использовать любые команды MS DOS. Смысл
программы будет в том, чтобы она создала папку и скопировала туда содержимое текущей папки.
Пишем:
В BAT файлах можно использовать любые команды MS DOS.
Смысл нашей программы будет в том, чтобы она создала папку и скопировала туда содержимое текущей папки.
ПРИМЕР:
echo off
cls
echo start backup
mkdir backup
copy *.* backup
echo end backup
ЗАДАНИЕ 3. Задание выполняйте в папке Zadanie4
Сохраните файл под именем 4.bat
С помощью команд создайте в папке Zadanie4 папку QQQ
Скопируйте в нее файлы из папки Zadanie1

Слайд 10

Вызов одного BAT файла из другого

Здесь нам может помочь команда CALL:
CALL

Вызов одного BAT файла из другого Здесь нам может помочь команда CALL:
[диск:][путь]имя_файла [параметры_вызова] параметры_вызова
Параметры командной строки, использующиеся при вызове пакетного файла.
ЗАДАНИЕ 5. Выполняйте в папке Zadanue5.
Сохраните файл под именем 5.bat:
Команда находящаяся в файле будет вызывать файл 4. bat из папки Zadanue4 на выполнение
Запускаем и смотрим.

Слайд 11

Обработка параметров в BAT файле
Вызывая из командной строки bat файл:
или из

Обработка параметров в BAT файле Вызывая из командной строки bat файл: или
другого файла:
call 6.bat 18012002
ЗАДАНИЕ 6. Выполняйте в папке Zadanue6.
Создайте файл с именем general.bat в папке Zadanue6. Запишите в нем вызов файла call 6.bat 18012002
Создайте новый фал. Сохраните файл под именем 6.bat
Внутри этого BAT файла можно обработать параметры. Для получения параметра мы должны использовать символ % и номер параметра. MS DOS заменит эту конструкцию переданным параметром.
echo off
сls
echo start backup
mkdir %1
copy *.* %1
echo end backup
Запускаем файл general.bat
3. Измените в фале general.bat параметр 18012002 на 11111. Запускаем файл general.bat
И результат.

Слайд 12

Использование PAUSE

Pause позволяет остановить выполнение Bat-файла до нажатия клавиши на клавиатуре. Это

Использование PAUSE Pause позволяет остановить выполнение Bat-файла до нажатия клавиши на клавиатуре.
может быть полезно, например, если Вы хотите, чтобы пользователь подтвердил выполнение какого-то действия нажатием на клавишу.
Приостановка выполнения пакетного файла и вывод сообщения: Нажмите любую клавишу.... PAUSE
ЗАДАНИЕ 7. Выполняйте в папке Zadanue7. Сохраните файл под именем 7.bat
Смотрим пример, который копирует файл на дискету.
echo off
cls
echo insert disk to A:
pause
copy 1.txt a:
В момент выполнения программа остановится.
после нажатия скопируется. Но на экране останется окно.
Если Вы не хотите чтобы оно было, напишите последней командой cls
.....
copy 1.txt a:
cls
И после копирования оно пропадет.
Имя файла: Файлы-пакетной-обработки.pptx
Количество просмотров: 199
Количество скачиваний: 0