Операционные системы / Лаб 3
.docxМинистерство образования и науки РФ
Новосибирский государственный технический университет
Факультет бизнеса
Кафедра экономической информатики
Лабораторная работа №3 по операционным системам
Формирование пакетных файлов
Студент:
Группа: ФБИ-22
Преподаватель: Эстрайх И. В.
Новосибирск 2014
Цель работы:
Ознакомиться со структурой bat-файла, научиться обрабатывать аргументы, работать с метками, операторами перехода и ветвления, а также организовывать циклы.
Ход работы:
Запустила интерпретатор команд MS-DOS через кнопку [Пуск], раздел «Программы», «Стандартные», «Командная строка».
Установила текущую директорию C:\STUDENT
cdC:\Student
Создала в C:\STUDENT папку «ФБИ-22», перешла в неё.
mdФБИ-22
cd C:\Student\ФБИ-22
Открыла Блокнот ([Пуск], Программы, Стандартные, Блокнот), сохранила файл как 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
delh.txt
:END
Запускается файл в командной строке так:
job1.batFBI22.txt
Построчно вводила необходимые фамилии, для завершения ввода нажалиF6 и <Enter>.
Создала пакетный файл job2.bat, принимающий два параметра: фамилию студента, которого необходимо исключить из списка группы, и имя файла, содержащего этот список. Запуск пакетного файла удаляет данного студента из данного списка.
Файл job2.bat:
@ECHOOFF
IF _%1==_ GOTOEND
IFNOTEXIST %2 GOTOEND
IF _%2==_ GOTOEND
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
Создала пакетный файл job3.bat, принимающий три параметра: две фамилии студентов, где первую надо заменить на вторую, и имя файла, содержащего список студентов. Запуск пакетного файла позволяет произвести замену в списке.
Файл job3.bat:
@ECHOOFF
IF _%1==_ GOTOEND
IF _%2==_ GOTOEND
IFNOTEXIST %3 GOTOEND
IF _%3==_ GOTOEND
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.batAbramovaФБИ-22 FBI22.txt
Создала пакетный файл 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.batFBI22.txt
Создала пакетный файл 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.batFBI22.rar
Создала пакетный файл 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
Сформировала пакетный файл 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-файла, научилась обрабатывать аргументы, работать с метками, операторами перехода и ветвления, а также организовывать циклы.