Лабораторная работа №2 работа с пакетными файлами (. bat) в операционной системе dos



Скачать 83.74 Kb.
Дата07.11.2012
Размер83.74 Kb.
ТипЛабораторная работа
Демченко А. MI-22

Операционные системы (SO)
Лабораторная работа №2

работа с пакетными файлами (.bat) в операционной системе DOS.
Цель работы: Получить навыки работы в операционной системе DOS. Изучить структуру и специфические команды пакетных файлов (.bat): rem (Коментарий), echo (Вывод сообщения), call (Вызов другого пакетного файла), goto (Переход по метке), if (Условие), for (Цикл), shift (Сдвиг аргументов на один влево), set (Установить переменную окружения), cls (Очищение экрана) и др.
Ход работы: Задача 1. Для начала рассмотрим работу с одним пакетным файлом и несколькими командами DOS. Файл ncopy.bat будет копировать все файлы из текущей директории в указанную в 1м аргументе, причем, сам файл ncopy.bat скопирован быть не должен.
Листинг файла ncopy.bat.

rem Убираем эхо-вывод команд

@echo off

rem Очищаем экран

cls
rem Выводим текущее время

echo Time:

time /T

echo ---------------------
rem Проверка, если первый аргумент (папка назначения) не указан, перейти на метку no_dir

if "%1"=="" goto no_dir
rem В цикле for для всех файлов текущей папки проверяем если имя не равно ncopy.bat, и если это так, копируем файл в назначенную папку

for %%f in (*.*) do if not "%%f" == "ncopy.bat" copy %%f %1
rem Т.к. файлы были успешно скопированы, нет смысла выводить сообщение об ошибке, поэтому переходим к концу пакетного файла командой goto, тем самым, завершая работу

goto end
:no_dir

rem Вывод сообщения об ошибке

echo Ошибка. Не указана папка.
rem Работа окончена

:end
Задача 2. Написание командного скрипта для вывода ряда фибоначи (т.е. где каждый последующий член ряда равен сумме двух предыдущих: 1, 1, 2, 3, 5, 8, 13, ...). Для этого будет использовано несколько пакетных файлов, работа с переменными окружения и тд.
Программа вывода состоит из 4-х пакетных файлов:

fibonaci.bat - главный исполняемый файл

sum.bat - сложение двух чисел

inc.bat - увеличение числа на 1

сonvert.bat - преобразование аргументов в арабскую систему счисления.
Базовые команды операционной системы DOS не позволяют работать с числами (складывать, умножать и тд), но есть средства для работы со строками (сложение, присвоение), через них будет имитироваться работа с числами. Для удобства была введена система из p-аргументов т.е. чтобы представить число 125, необходимо передать какому-либо пакетному файлу 3 аргумента: "pppppp" "ppp" "pp", где каждый аргумент это разряд, а кол-во символов p это цифра: p = 0, pp = 1, ppp = 2, pppp = 3, и тд.
Пакетный файл convert.bat преобразует систему из p-аргументов в арабскую систему счисления.

Листинг файла convert.bat.
rem Убираем эхо-вывод команд

@echo off
rem Очищаем переменную окружения result, в нее будет записан результат

set result=
rem Цикл shift

:loop1
rem Преобразуем символы из p-системы в арабскую
if "%1" == "p" set result=0%result%

if "%1" == "pp" set result=1%result%

if "%1" == "ppp" set result=2%result%

if "%1" == "pppp" set result=3%result%

if "%1" == "ppppp" set result=4%result%

if "%1" == "pppppp" set result=5%result%

if "%1" == "ppppppp" set result=6%result%

if "%1" == "pppppppp" set result=7%result%

if "%1" == "ppppppppp" set result=8%result%

if "%1" == "pppppppppp" set result=9%result%
rem Сдвигаем аргументы на один влево

shift

rem Если новый аргумент не является пустым, продолжаем работу

if not "%1" == "" goto loop1
Пакетный файл inc.bat увеличивает число в p-системе на единицу, возвращает результат в переменной окружения result.

Листинг файла inc.bat.
@echo off
set firstparam=%1

set allparams=
if not "%firstparam%p"=="ppppppppppp" goto no_carry_result
set allparams=p

set addcarry=1
:loop

shift

if "%1"=="" goto carry_result
if %addcarry%==0 goto skip

if not "%1p"=="ppppppppppp" goto no_carry_set

set addcarry=1

set allparams=%allparams% p

goto loop
:no_carry_set

set addcarry=0

if "%allparams%"=="" goto empty_allparams

set allparams=%allparams% p%1

goto loop

:empty_allparams

set allparams=p%1

goto loop
:skip

set allparams=%allparams% %1

goto loop
:no_carry_result

set result=%firstparam%p
:loop2

shift

if "%1"=="" goto end

set result=%result% %1

goto loop2
:carry_result

set result=%allparams%

if %addcarry%==1 set result=%result% pp
:end
Пакетный файл sum.bat складывает два числа из переменных окружения (v1, v2) и возвращает результат в переменной v2.

Листинг файла sum.bat.

@echo off
rem i - переменная-счетчик цикла

set i=p
:loop

rem Если i = v1, необходимо завершить цикл

if "%i%"=="%v1%" goto loop_end

if "%i%"=="%v1% " goto loop_end
rem Увеличить переменную v2 на 1

call inc.bat %v2%

set v2=%result%
rem Увеличить переменную i на 1

call inc.bat %i%

set i=%result%
goto loop

:loop_end
Пакетный файл fibonaci.bat выводит ряд фибоначи.

Листинг файла fibonaci.bat.
rem Убираем эхо-вывод команд

@echo off

rem Очистить экран

cls
rem Установка первых двух членов прогрессии

set v1=pp

set v2=pp
rem Вывод первых двух членов, т.к. они заведомо известны

echo 1

pause

echo 1

pause
rem Главный цикл

:fib_loop
rem Считаем сумму

set tempv2=%v2%

call sum.bat

set v1=%tempv2%
rem Выводим результат в арабской системе

call convert.bat %result%

echo %result%
rem Ждем нажатия любой клавиши для продолжения работы

pause

goto fib_loop
Вывод: В ходе работы были получены навыки работы в операционной системе DOS. Изучена структура пакетных файлов DOS, их взаимодействие и специфические для них команды. Важно то, что использование .bat файлов экономит много времени при однообразных действиях с файлами.

Похожие:

Лабораторная работа №2 работа с пакетными файлами (. bat) в операционной системе dos iconПрактикум по дисциплине «информатика» для студентов направлений 230100. 62 «Информатика и вычислительная техника»
Лабораторная работа Команды работы с дисками, файлами и каталогами ос ms dos 9
Лабораторная работа №2 работа с пакетными файлами (. bat) в операционной системе dos iconКомпьютера. Папки. Файлы (имя, тип, путь доступа). Операции с папками и файлами в среде операционной системы
Ютере в среде операционной системы фактически сводится к работе с файлами. В операционной системе Windows 98 понятие файл часто заменяется...
Лабораторная работа №2 работа с пакетными файлами (. bat) в операционной системе dos iconЛабораторная работа по теме: «ms doc. Основные команды.»
Мбоу «сош №8 г. Петровска Саратовской области» Лабораторная работа в среде ms dos
Лабораторная работа №2 работа с пакетными файлами (. bat) в операционной системе dos iconЛабораторная работа №3. Знакомство с прерываниями. Лабораторная работа №4. Программная обработка клавиатуры
Лабораторная работа №1. Знакомство с общим устройством и функционированием ЭВМ. Изучение структуры процессора, организации памяти,...
Лабораторная работа №2 работа с пакетными файлами (. bat) в операционной системе dos iconЛабораторная работа №1 Функции Win32 api для работы с файлами Лабораторный практикум Математический факультет
Создать приложение, в котором работа с файлами и каталогами организована через системные вызовы (функции Win32 api)
Лабораторная работа №2 работа с пакетными файлами (. bat) в операционной системе dos iconЛабораторная работа №1 цель работы: ознакомиться и научиться работать с файлами в среде Турбо Паскаля. Работа с файлами
Под файлом понимается либо именованная область внешней памяти пк (жёсткого диска,гибкой дискеты, электронного «виртуального» диска),...
Лабораторная работа №2 работа с пакетными файлами (. bat) в операционной системе dos iconЛабораторная работа №1 Работа в Oracle Database Express Edition 1 Лабораторная работа №6
Лабораторная работа Выполнение расчетов с использованием программирования в среде Visual Basic for Applications
Лабораторная работа №2 работа с пакетными файлами (. bat) в операционной системе dos icon2. Программа Norton Commander. Специализированное программное обеспечение. Tема №1 операционная система dos вопросы : Начальные сведения о dos. Работа с файлами, каталогами и дисками. Начальные сведения о dos
Операционная система dos. Программа norton commander. Специализированное программное обеспечение
Лабораторная работа №2 работа с пакетными файлами (. bat) в операционной системе dos iconПрактическая работа №1 «Работа в операционной системе Windows xp». Выполнив данную практическую работу, вы научитесь
Основные элементы графического интерфейса Windows xp: рабочий стол, значки, ярлыки, панель задач, окна
Лабораторная работа №2 работа с пакетными файлами (. bat) в операционной системе dos iconЛабораторная работа №7 Обработка файлов средствами языка Turbo Pascal
Освоение методики проектирования Pascal-программ с использованием операций с файлами
Разместите кнопку на своём сайте:
ru.convdocs.org


База данных защищена авторским правом ©ru.convdocs.org 2016
обратиться к администрации
ru.convdocs.org