Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

по лабораторной работе № 2 на тему: «BAT файлы»

ОТЧЕТ

Выполнил: студент гр. K-751,Главинская А.

Проверила: ст. преп. СИ Глушкова И.И.

 

 

г. Улан-Удэ

2017г

 

Цель работы:

Изучить и научиться правильно создавать bat-файлы

 

Вопросы к лабораторной работе «ОС MS-DOS»

10. Поясните назначение файлов пакетной обработки и особенности командного файла автозапуска - AUTOEXEC.BAT.

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

11. Расскажите о замещаемых параметрах в командных файлах.

Внутри командного файла допускается использование замещаемых паpаметpов. Параметр - это символьная пеpеменная, расположенная в командной стpоке после имени команды. Он содержит дополнительную информацию, необходимую опеpационной системе пpи обpаботке команды. Паpаметpом, например, может быть имя файла, к которому относится действие команды. Замещаемый параметр - это специальная переменная, которая в процессе выполнения команды подменяется обычным паpаметpом (например, именем файла). В командном файле замещаемый паpаметp обозначается знаком процента (%) и цифрой от 0 до 9. Таким образом, командный файл может включать до десяти замещаемых параметров. Символьные переменные, предназначенные для подмены замещающего параметра, вводятся в командной строке при обращении к командному файлу - набирается команда старта (имя файла) и список паpаметpов в порядке, соответствующем последовательности замещаемых параметров внутpи файла. Пpи введении замещаемых паpаметpов командный файл становится более гибким.

12. Расскажите о замещаемых символах в командных файлах.

Замещаемые символы - это специальные символы, используемые для обозначения одного или нескольких символов имени файла. В MS-DOS их два: звездочка (*) и вопpосительный знак (?).

Вопpосительный знак заменяет только один символ имени или pасшиpения, звездочка - гpуппу символов. Замещаемые символы особенно удобны в пpименении с командами DIR, COPY, ERASE и RENAME, т.к. действие этих команд часто pаспpостpаняется на несколько файлов.

13. Опишите принцип работы команды IF.

IF <условие> <следствие>- проверяет истинность какого-либо <условия> и в зависимости от этого выполняет или не выполняет команду <следствие>.

14. Опишите принцип работы команд REM и ECHO.

REM [текст]-служит для ввода комментариев. Любой текст, расположенный в строке после нее, будет считаться комментарием и не выполняется. Это бывает полезно при отладке программы или временном "выключении" некоторых строк файла.

ECHO [ON | OFF | Текст]- используется для управления эхо-режимом, то есть режимом отображения на экране служебной информации. ECHO OFF запрещает этот вывод, а ECHO ON - разрешает. ECHO <Текст> используется для вывода текста на устройство. То есть, команда «ECHO Привет!» выведет на экран "Привет!". А команда «ECHO ATDP 21435 > COM2» пошлёт на устройство на порте COM2 (например, на модем) команду ATDP 21435, то есть, набор номера 21435.

15. Опишите принцип работы команд CHOICE и FOR.

FOR %<параметр> IN () DO <команда>
С помощью оператора FOR возможно выполнение одной и той же команды несколько раз для различных параметров.

16. Опишите принцип работы команд SHIFT

Изменяет позицию параметров в командном файле. Команда SHIFT изменяет значения замещаемых параметров с 0 по 9, копируя каждый параметр в предыдущий, то есть значение 1 копируется в 0, 2 - в 1 и т.д. Это полезно для написания командного файла, выполняющего с любым числом параметров одну и ту же операцию. С помощью SHIFT вы можете также построить командный файл, воспринимающий более 10 параметров: те параметры, которые задаются после десятого (%9), будут сдвигаться по одному в %9.Команда, обратная SHIFT (обратный сдвиг), отсутствует. После выполнения SHIFT вы не сможете восстановить первый параметр (0), который был перед сдвигом.

 

Задание

1. Пусть имеется текстовый файл protokol.txt, в котором хранится журнал обработанных файлов в следующем формате:

<имя файла> <дата> <время>

Слово дата здесь начинается в каждой строке с двадцатой позиции.

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

Решение:

1) Создаем файл protokol.txt. Вводим:

COPY CON PROTOKOL.TXT

Далее вводим:

rtg.txt 02.01.2001 14:50

fghd.txt 03.02.2001 23:50

gjfl.txt 02.01.2001 12:00

asft.txt 10.01.2000 13:00

Нажимаем: Ctrl+z.

2) Запускаем cmd.exe, находим путь к файлу protokol.txt

и вводим: COPY CON 1.bat

3)Вводим:

@ЕСНО OFF

RЕМ Проверка наличия параметров командной строки

IF -%1==- GOTO NoParam

IF -%2==- GOTO NoParam

REM Выделение нужных строк из файла protokol.txt

FIND "%1.%2" protokol.txt | SORT /+26 > %l%2.txt

GOTO End

:NoParam

ECHO He заданы необходимые параметры командной строки!

PAUSE

:End

4) Нажимаем: Ctrl+z

5) Далее запускаем наш файл в виде <имя файла> <месяц> <год>

это должно выглядеть так: 1 02 2001

6) После проделанной работы создаться файл с нужной информацией.

 

2. Написать командный файл, который будет копировать из текущего ката­лога все файлы с расширением txt, кроме одного файла, указанного в качестве второго параметра командной строки, в каталог, указанный пер­вым параметром. Если имя каталога, в который должно производиться копирование, не задано, то вывести сообщение об этом и прервать выполнение файла.

Решение:

Для выполнения поставленной задачи можно перебрать в цикле все фай­лы с расширением txt, проверяя перед

копированием имя каждого из этих файлов:

1) Запускаем cmd.exe, находим путь в каталог с текстовыми файлами

и вводим: COPY CON 2.bat

2)Вводим:

@ЕСНО OFF

REM Проверка наличия параметра командной строки

IF -%!==- GOTO NoDir

RЕМ Копирование нужных файлов

FOR %%f IN (*.txt) DO IF NOT -%%f==-%2 COPY %%f %1

GOTO End

:NoDir

ECHO He указан каталог для копирования!

PAUSE

:End

4) Нажимаем: Ctrl+z

5) Далее запускаем наш файл в виде <имя файла> <каталог> <.txt> (файл, который не надо копировать>

это должно выглядеть так: 2 os aa.txt

6) После проделанной работы все текстовые документы(кроме указанного вами в параметрах) из каталога, путь к которому вы указали в начале, копируются в указанный вами в параметрах каталог.

 

3. Задание аналогично второму упражнению. Дополнительные требования:

а) переписывать только те файлы, которые новее одноименных в каталоге - приемнике,

б) не прерывать копирование в случае возникновения ошибки,

в) записывать в файл logcopy.txt имя каждого копируемого файла и результат выполнения операции для него.

Другими словами, файл logcopy.txt должен быть примерно таким:

Успешно: а.txt

Ошибка: b.txt

Успешно: с.txt

Решение:

1) Запускаем cmd.exe, находим путь в каталог с текстовыми файлами

и вводим: COPY CON 3_1.bat

2)Вводим:

@ЕСНО OFF

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

XCOPY %1 %2 /D /С > NUL

REM Проверка успешности копирования

IF ERRORLEVEL 0 GOTO Success

REM Запись в файл отчета информации об ошибке при копировании

ECHO Ошибка: % 1 >> logcopy.log

GOTO End

:Success

REM Запись в файл отчета информации об успешном копировании

ECHO Успешно: %1 >> logcopy.log

:End

4) Нажимаем: Ctrl+z

5) Запускаем cmd.exe, находим путь в каталог с текстовыми файлами

и вводим: COPY CON zzz.bat

6)Вводим:

@ЕСНО OFF

REM Проверка наличия параметра командной строки

IF -%1==- GOTO NoDir

RЕМ Копирование нужных файлов

FOR %%f IN (*.txt) DO IF NOT -%%f==-%2 CALL 3_1.bat %%f %1

GOTO End

:NoDir

ECHO He указан каталог для копирования!

PAUSE

:End

7) Нажимаем: Ctrl+z

8) Далее запускаем наш файл в виде <имя файла> <каталог> <.txt которую не нужно копировать>

это должно выглядеть так: aaa copy no.txt

9)После проделанной работы все текстовые документы(кроме указанного вами в параметрах) из каталога путь к

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

logcopy.txt.

 

4. Создать командный файл, который выводил бы содержимое каталога, указанного в качестве параметра командной строки, причем пользовате­лю должна быть предоставлена возможность выбора с помощью меню устройства для вывода: на экран (информация выводится по одному экрану), в текстовый файл c:\catalog.txt или на принтер.

Решение:

1) Создать на диске С catalog.txt

2)Запускаем cmd.exe, указать нужный путь, далее вводим: COPY CON kom.bat

3)

@ЕСНО OFF

CLS

IF -%1==- GOTO NoDir

RЕМ Вывод меню на экран

ECHO A - На экран

ECHO B - В файл C:\catalog.txt

ECHO C - На принтер

REM Вывод подсказки для ввода

CHOICE /C ABC /M "Куда выводить содержимое %1"

CLS

REM Определение сделанного выбора

IF ERRORLEVEL 3 GOTO DirToPrn

IF ERRORLEVEL 2 GOTO DirToFile

IF ERRORLEVEL 1 GOTO DirToCon

ECHO Выбор не был сделан.

GOTO End

:DirToCon

DIR %1 | MORE

GOTO End

:DirToFile

DIR %1 > C:\catalog.txt

GOTO End

:DirToPrn

DIR %1 > prn

GOTO End

:NoDir

ECHO He указан каталог для сканирования!

PAUSE

:End

4) Нажимаем: Ctrl+z

5)Запускаем бат файл в виде: <название><нужный файл> это выглядит так: kom file.txt

6)После этого она выдает запрос в котором вы должны выбрать куда будет выводиться нужная информация

7)Далее программа выполняет выбранное действие.

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...