Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Лекция 13 Работа с пакетными файлами Лекция 13

Работа добавлена на сайт samzan.net:


перационные системы и среды                                                 Колледж телекоммуникаций СПбГУТ

ДТО

Лекция № 13. Работа с пакетными файлами

Лекция № 13.  Работа с пакетными файлами

  1.  Пакетные командные файлы.
  2.  Особенности работы с пакетными командными файлами в различных ОС.

  1.  Пакетные командные файлы.

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

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

Пакетные файлы в DOS имеют расширение .bat; для других операционных систем они могут иметь другие расширения — например, .CMD в Windows NT и OS/2, или .BTM в 4DOS или подобных оболочках.

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

История

Программирование пакетных файлов появилось в MS-DOS и Windows с самого зарождения этих операционных систем. Командные интерпретаторы этих систем предлагают два режима работы: интерактивный режим (когда пользователь непосредственно вводит команды в командной строке и немедленно их исполняет) и пакетный режим (когда пользователь запускает предварительно записанную последовательность команд). Концепция обоих режимов была почерпнута из различных Unix-оболочек, равно как и из других текстовых интерфейсов командной строки начала 1980-х годов, таких как CP/M.

Командный интерпретатор в MS-DOS имеет название COMMAND.COM. Эволюция этой ветви пакетного программирования прошла через различные версии MS-DOS к Windows 95, Windows 98 и, наконец, к Windows Me. Наиболее известным пакетным файлом в этих системах является AUTOEXEC.BAT, специальный пакетный файл, который исполняется во время загрузки операционной системы.

Новые версии Windows — Windows 2000, XP и Vista основаны не на MS-DOS, а на Windows NT. NT-подобные системы включают интерпретатор cmd.exe, который частично совместим с COMMAND.COM. Некоторые старые возможности MS-DOS недоступны, однако вместо них появились дополнительные возможности и команды. COMMAND.COM до сих пор включается в NT-подобные системы для обеспечения лучшей обратной совместимости.

Существуют различные другие командные интерпретаторы, разработанные не компанией Microsoft и предоставляющие расширенный синтаксис команд для пакетного программирования. Примером может служить 4DOS.

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

  1.  Особенности работы с пакетными командными файлами в различных ОС.

Рассмотрим на примере ОС MS-DOS сновные команды, применяемые в пакетных файлах  

  1.  CALL [путь] имя_командного _файла [параметры]

Эта команда используется внутри командного файла для вызова другого командного файла. Когда вызываемый командный файл заканчивает работу, управление передается вызывающему файлу. Например, чтобы последовательно вызвать файлы Start.bat и Finish.bat, надо в командный файл ввести команды

call start

call finish

  1.  CHOICE [/C[:]выборы][/N][/S][T[:}c,nn][текст]

Эта команда используется для ввода подсказки пользователю. выполнение файла приостанавливается и пользователь может сделать выборы из указанного набора выборы. Параметры команды:

текст – пояснительный текст, который будет показан перед подсказкой. Если текст не указан, то выведется только подсказка.

/C[:] выборы – указывает возможности из которых пользователь будет делать выбор, при выводе выборы будут заключены в квадратные скобки с ? в конце. Если /C не используется, то по умолчанию выводятся выборы Y и N. Двоеточие не обязательно.

/N- если используется эта опция, то будет показан текст подсказки, а сама подсказка не выведется.

/S – чувствительность к регистру.

/T[:]c,nn – ограничение времени, на которое командный файл приостановит свое выполнение, с- определяет символ, который будет выбран по умолчанию, если через nn секунд пользователь не сделает выбор.

Примеры:

choice /c ync

Пользователь увидит подсказку

[Y,N,C]?

К подсказке можно добавить пояснительный текст

choice /c ync Yes(Да),No(Нет),Continue(Продолжить)

Пользователь увидит текст:

Yes(Да),No(Нет),Continue(Продолжить)[Y,N,C]?

Для ограничения времени можно использовать опцию /Т

choice /c:ync/t:c,10

Пользователь увидит подсказку

[Y,N,C]?

Если в течение 10с выбор не будет сделан, то по умолчанию будет выбрана опция С и пакетный файл продолжит выполнение.

3. ECHO ON|OFF – включает или отключает отображение команд при выполнении командного файла. Может использоваться для вывода сообщений по ходу выполнения файла. Обычно при выполнении командного файла на экран выводятся его команд. Команда ECHO OFF отключит эту функцию. Пример

ECHO OFF

. . . . .

ECHO Это сообщение командного файла

. . . . .

Пользователь при работе командного файла увидит на экране

ECHO OFF

Это сообщение командного файла

Чтобы сама команда ECHO OFF не выводилась на экран в начало команды нужно добавить @.

  1.  FOR %%переменная IN (набор) DO команда ,где

%%переменная – любой символ,

набор – одна или более спецификаций файлов.

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

Элементу %%переменная  последовательно присваивается каждое из вхождений набора, затем выполняется команда DOS, указанная  после DO.

Пример

for %%x in (*.txt) do type %%x //печатает на экране все текстовые файлы текущего каталога.

  1.  GOTO метка

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

Метка- первые 8 символов после двоеточия, может вводиться с отступом, но предшествовать метке могут только пробелы.

Если указанная после goto метка не найдена, то выводится сообщение об ошибке и командный файл завершает свою работу.

Пример

:start

echo Это- бесконечный цикл

goto start

Цикл можно закончить при нажатии Ctrl+Break.

  1.  IF – условие. Имеет 3 формы:
  2.  IF[NOT] EXIST имя_файла команда [параметры]

Это условие определяет проверку на наличие или отсутствие файла на диске. Если условие истинно, то выполняется указанная команда.

echo off

if not exist data1.dat goto message

echo Файл Data1.dat в текущем каталоге существует

goto end

:message

echo Файл не найден,

echo однако этот файл должен быть в текущем каталоге

:end

2)IF [NOT] строка1==строка2

Это условие проверяет строки на равенство. Если условие истинно, то выполняется указанная команда.

Пример

echo off

if not x==%1x goto print

echo после имени командного файла надо ввести параметр

goto end

:print

echo переданный параметр – [%1]

:end

В этом примере командный файл работает по разному в зависимости от того, были ли введены в командную строку символы после имени командного файла.  Здесь х – строка1, %1х – строка2, %1 – переданный параметр.

  1.  IF [NOT] ERRORLEVEL число

Это условие проверяет число ERRORLEVEL  (переменная, в которую записываются значения в ОС DOS, например, коды завершения программ). Если ERRОRLEVEL  равна или больше(или не равна - NOT) указанного числу, то выполняется команда. Примеры:

1) if errorlevel 1 echo errorlevel больше 0 //выводит сообщение при установке errorlevel>0

  1.  echo off

if errorlevel 1 goto copyfile

if errorlevel 2 goto delfile

echo Программа работает неправильно

goto end

:copyfile

copy dat1.dat+dat.tmp

echo Получены новые данные

goto end

:delfile

delete dat1.dat

echo Каталог очищен

:end

  1.  PAUSE [комментарий]

Приостанавливает выполнение программы до нажатия клавиши и выводит сообщение

Нажмите любую клавишу. . .

Если есть комментарий, то он выводится перед сообщением

pause Вставьте дискету в дисковод А

Эта команда приостановит выполнение командного файла для вставки диска в дисковод А.

7. REM [комментарий]

Вставка в командный файл сообщение, которые не влияют на выполнение программы.

8. PATH=путь

задает путь поиска команды по умолчанию

path=a:\;c:\windows;c:\windows\command;e;\files

т. е. DOS начинает писк команды с какталога а:\, затем переходит в c:\windows, потом в c:\windows\command и т. д.

9. Символы перенаправления ввода-вывода

> - перенаправляет вывод команды не на экран, а в указанное устройство или в файл.

dir a:\>f1.txt

>> - добавляет информацию в конец существующего файла.

date>> f1

time>>f1

< - позволяет получить ввод не с клавиатуры, а из указанного файла или устройства.

6




1. наука позволяет собирать все более подробные статистические данные о сфере исследований и разработок в Росс
2. реферат дисертації на здобуття наукового ступеня кандидата технічних наук Дн
3.  Гранулематозное воспаление
4. Вариант 2 I Заполните пропуски соответствующими предлогами расположенными справа
5. РЕФЕРАТ дисертації на здобуття наукового ступеня кандидата технічних наук7
6. Основные правила составления документов
7. i igi i ii1 i1 элемент памятиблок умножения
8. реферат дисертації на здобуття наукового ступеня доктора медичних наук Харків ~ 2003 Дисер
9. Интродукция как фактор сохранения биоразнообразия растительного мира Павлодарской области
10. варианты теоретического осмысления экономического бытия
11. з курсу для студентів спеціальності Затверджено на засіданні кафедри ldquo;Інформаційні системи і мереж
12. тематика УЧЕБНИК- Моя математика Т.
13. Курсовая работа- Моделювання процесу надходження до ЕОМ повідомлень
14. Охлаждение системных блоков
15. Брестский государственный колледж связи
16. з курсу ldquo;Програмуванняrdquo; для студентів 3 курсу спеціальності ldquo;Комп~ютерні системи та мережіrdquo; 7
17. Современная космология и проблема скрытой массы во Вселенной
18. Тематический план Тематический план специальности Педагогика и психология бакалавры направление Педа
19. тематика Множества и подмножества
20. тема есть важное условие для выживания и эволюции любой популяции потому как именно оно позволяет получить м