Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Операционные системы / Отчёт по ОС 3

.docx
Скачиваний:
41
Добавлен:
02.01.2020
Размер:
20.08 Кб
Скачать

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

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

Факультет бизнеса

Кафедра экономической информатики

Лабораторная работа №3 по операционным системам

Формирование пакетных файлов

Студент:

Группа: ФБИ-22

Преподаватель: Эстрайх И. В.

Дата: 22.03.2014

Новосибирск 2014

Цель работы:

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

Ход работы:

  1. Запустили интерпретатор команд MS-DOS через кнопку [Пуск], раздел «Программы», «Стандартные», «Командная строка».

  2. Установили текущей директорию C:\STUDENT

cd C:\Student

  1. Создали в C:\STUDENT папку «ФБИ-22», перешли в неё.

md ФБИ-22

cd C:\Student\ФБИ-22

  1. Открыли Блокнот ([Пуск], Программы, Стандартные, Блокнот), сохранили файл как job1.bat (в дальнейшем в Блокноте будем создавать новые файлы: Файл, Создать — и сохранять их под нужными именами). Файл job1.bat принимает параметр с указанием имени файла, содержащего список студентов. Запуск пакетного файла позволяет пополнять список студентов с клавиатуры и сохранять в отсортированном виде.

Файл job1.bat:

@ECHO OFF

IF NOT EXIST %1 GOTO END

IF _%1==_ GOTO END

TYPE CON >>%1

SORT %1 /O h.txt

COPY h.txt %1

del h.txt

:END

Запускается файл в командной строке так:

job1.bat FBI22.txt

Построчно вводили необходимые фамилии, для завершения ввода нажали F6 и <Enter>.

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

Файл job2.bat:

@ECHO OFF

IF _%1==_ GOTO END

IF NOT EXIST %2 GOTO END

IF _%2==_ GOTO END

FOR /F "tokens=*" %%i IN ('TYPE %2') DO IF NOT _%%i==_%1 ECHO %%i >>h.txt

COPY h.txt %2

DEL h.txt

:END

Запускается файл в командной строке так:

job2.bat ФБИ-22 FBI22.txt

  1. Создали пакетный файл job3.bat, принимающий три параметра: две фамилии студентов, где первую надо заменить на вторую, и имя файла, содержащего список студентов. Запуск пакетного файла позволяет произвести замену в списке.

Файл job3.bat:

@ECHO OFF

IF _%1==_ GOTO END

IF _%2==_ GOTO END

IF NOT EXIST %3 GOTO END

IF _%3==_ GOTO END

FOR /F "tokens=*" %%i IN ('TYPE %3') DO IF _%%i==_%1 (ECHO %2 >>h.txt.) ELSE (ECHO %%i >>h.txt.)

SORT h.txt /O %3

DEL h.txt

:END

Запускается файл в командной строке так:

job3.bat Abramova ФБИ-22 FBI22.txt

  1. Создали пакетный файл job4.bat, архивирующий с помощью WinRAR указанный в качестве параметра файл в одноимённый архив с соответствующим расширением.

Файл job4.bat:

@ECHO OFF

IF NOT EXIST %1 GOTO END

IF _%1==_ GOTO END

"C:\Program Files\WinRAR\WinRAR.exe" a %~n1.rar %1

:END

Запускается файл в командной строке так:

job4.bat FBI22.txt

  1. Создали пакетный файл job5.bat, разархивирующий с помощью WinRAR указанный в качестве параметра файл.

Файл job5.bat:

@ECHO OFF

IF NOT EXIST %1 GOTO END

IF _%1==_ GOTO END

"C:\Program Files\WinRAR\WinRAR.exe" x -o+ %1 .

:END

Запускается файл в командной строке так:

job5.bat FBI22.rar

  1. Создали пакетный файл job6.bat, выполняющий поиск указанной в качестве параметра фамилии студента в указанном в качестве параметра файле со списком группы и устанавливающий код ошибки 1 на выходе в случае обнаружения.

Файл job6.bat:

@ECHO OFF

IF _%1==_ GOTO END

IF NOT EXIST %2 GOTO END

IF _%2==_ GOTO END

FOR /F "tokens=*" %%i IN ('TYPE %2') DO IF _%%i==_%1 GOTO SUCC

GOTO END

:SUCC

EXIT /B 1

:END

Запускается файл в командной строке так:

job6.bat ФБИ-22 FBI22.txt

  1. Сформировали пакетный файл jobs.bat, реализующий систему меню из 6 пунктов. Каждый отдельный пункт меню предназначен для выполнения специальных действий над хранилищем данных о студентах.

Файл jobs.bat:

@ECHO OFF

ECHO 1 - Создание или пополнение списка группы студентов

ECHO 2 - Исключение студента из группы

ECHO 3 - Замена студента в группе

ECHO 4 - Помещение списка группы в одноимённый архив

ECHO 5 - Извлечение списка группы из одноимённого архива

ECHO 6 - Поиск фамилии студента в группе

ECHO Ваш выбор? [1-6]

CHOICE /C:123456 /T 15 /D 1 /N

IF ERRORLEVEL 6 GOTO JOB_6

IF ERRORLEVEL 5 GOTO JOB_5

IF ERRORLEVEL 4 GOTO JOB_4

IF ERRORLEVEL 3 GOTO JOB_3

IF ERRORLEVEL 2 GOTO JOB_2

GOTO JOB_1

:JOB_6

CALL job6.bat ФБИ-22 FBI22.txt

EXIT /B 6

:JOB_5

CALL job5.bat FBI22.rar

EXIT /B 5

:JOB_4

CALL job4.bat FBI22.txt

EXIT /B 4

:JOB_3

CALL job3.bat ФБИ-22 Hatter FBI22.txt

EXIT /B 3

:JOB_2

CALL job2.bat Hatter FBI22.txt

EXIT /B 2

:JOB_1

CALL job1.bat FBI22.txt

EXIT /B 1

Запускается файл в командной строке так:

jobs.bat

Вывод:

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