|
1.Розробка алгоритму і тексту командного файлу
1.1Розгорбка блок схеми алгоритму командного файлу і його описання
1.1.1 Блок схема командного файлу меню і її описання
Рис.1.1‒ Блок схема меню командних файлів
Основні функції покладені на даний командний файл полягають в тому щоб об’єднати всі наші командні файли в одну систему і тим самим спростити роботу з ними.
Розглянемо дану блок-схему детально, по блокам:
1.Початок - цей блок відповідає за початок роботи командного файлу.
2.Дія 1 – Виконує перевірку чи вибрана перша дія, якщо вибрана перша дія то буде виконаний перехід на перший командний файл, і він почне виконуватися.
В тому випадку якщо він не вибраний іде перехід до перевірки наступної дії.
3.Дія 2 – Виконує перевірку чи вибрана друга дія якщо вибрана друга дія то буде виконаний перехід на другий командний файл, і він почне виконуватися. В тому випадку якщо він не вибраний іде перехід до перевірки наступної дії.
4.Дія 3 – Виконує перевірку чи вибрана третя дія якщо вибрана третя дія то буде виконаний перехід на третій командний файл, і він почне виконуватися. В тому випадку якщо третя дія не вибрана іде перехід до блоку «Такої дії не існує»
5.Такої дії не існує – цей блок виводить повідомлення на екран і сповіщає нас що ніяка дія не була вибрана.
6.Кінець – Блок який відповідає за закінчення роботи командного файлу.
1.1.2 Блок схема до першого командного файлу та її описання
Рис.1.2‒ Блок-схема першого командного файлу
Основне завдання даного командного командного файлу перейменування файлів у нові імена що вказуються.
Розглянемо блок-схему командного файлу детально по кожному блоку: 1.Початок - цей блок відповідає за початок роботи командного файлу.
2.Відключення повідомлень – відключення повідомленнь сповіщеняя про виконання кожної дії командного файлу
3.Існує каталог? – цей блок проводить перевірку чи існує той каталог який задає користувач. Якщо так то іде перехід на виконання наступного блоку якщо ні то видає повідомлення про помилку.
4.Перехід на каталог – виконується перехід на вказаний каталог
5.Існує файл?- перевіряє чи існує той файл який вказав користувач. Якщо так то іде перехід на наступну дію якщо ні то видає повідомлення про помилку.
6.Перейменування його - виконується перейменування вибраного користувачем файлу.
7.Є ще файли?- Перевірка чи існують ще введені файли з новими іменами для перейменування
8.Кінець роботи! – виводить повідомлення на екран про закінчення роботи командного файлу.
9. Кінець – Блок який відповідає за закінчення роботи командного файлу.
1.1.2 Блок схема до другого командного файлу та її описання
Основна задача даного командного файлу полягає у встановленні атрибутів на вказані файли.
Розглянемо блок-схему командного файлу детально по кожному блоку: 1.Початок - цей блок відповідає за початок роботи командного файлу.
2.Відключення повідомлень – відключення повідомленнь сповіщеня про виконання кожної дії командного файлу
3.Існує каталог? – цей блок проводить перевірку чи існує той каталог який задає користувач. Якщо так то іде перехід на виконання наступного блоку якщо ні то видає повідомлення про помилку.
Рис.1.3‒ Блок схема другого командного файлу
4.Перехід на каталог – виконується перехід на вказаний каталог
5.Існує файл?- перевіряє чи існує той файл який вказав користувач. Якщо так то іде перехід на наступну дію якщо ні то видає повідомлення про помилку.
6.Встановити атрибут - виконується встановлення атрибуту на вибраний користувачем файл.
7.Є ще файли?- Перевірка чи існують ще файли та вказані атрибути для встановлення на них.
8.Кінець роботи! – виводить повідомлення на екран про закінчення роботи командного файлу.
9. Кінець – Блок який відповідає за закінчення роботи командного файлу.
1.1.4 Блок схема третього командного файлу та її описання
Основна задача даного командного файлу полягає у копіюванні файлів з вказаним розширенням на вказаний зовнішній носій.
Розглянемо блок-схему командного файлу детально по кожному блоку: 1.Початок - цей блок відповідає за початок роботи командного файлу.
2.Відключення повідомлень – відключення повідомленнь сповіщеняя про виконання кожної дії командного файлу
3.Існує каталог? – цей блок проводить перевірку чи існує той каталог який задає користувач. Якщо так то іде перехід на виконання наступного блоку якщо ні то видає повідомлення про помилку.
4.Перехід на каталог – виконується перехід на вказаний каталог
5.Існує файл?- перевіряє чи існує той файл який вказав користувач. Якщо так то іде перехід на наступну дію якщо ні то видає повідомлення про помилку.
6.Копіювання - виконується копіювання файлу із заданим розширенням на вказаний зовнішній носій.
Рис.1.4‒ Блок схема третього командного файлу
7.Кінець роботи! – виводить повідомлення на екран про закінчення роботи командного файлу.
8. Кінець – Блок який відповідає за закінчення роботи командного файлу.
1.2 Розробка програми командного файлу і її описання
1.2.1 Текст командного файлу меню
@echo off
cls
@if %1==\? goto z
if %1==1 goto act1
if %1==2 goto act2
If %1==3 goto act3
if *%1==* goto end
:act1
cls
echo program 1
if exist %2 goto a
if not exist goto err
:a
cd %2
:begin
if *%3==* goto err3
set A=%3
if exist %A% goto ren
if not exist %A% goto err4
REM переход если файл существует
:ren
shift /3
if *%3==* goto err1
set B=%3
if exist %B% goto err2
ren %A% %B%
echo you rename %A% to %B%
goto next
REM
:err
echo net takoi directorii
goto end
REM не ввели имя 2 го файла
:err1
echo vi ne vveli novoe im'a
goto end
REM если файл с именем в которое хотим переименовать существует
:err2
echo pereimenovanie ne vozmozno fail c imenem %B% uze exist
goto next
REM не ввели имя 1 го файла
:err3
echo ne vveli imya 1 go faila
goto end
REM если первого файла не существует
:err4
echo file %A% not exist
shift /3
goto next
REM проверочка будут ли у нас еще файлы на переименование
:next
shift /3
if *%3==* goto end
goto begin
:z
@echo ОНПУ
@echo Кафедра РТС
@echo Курсова робота
@echo студента групи
@echo РТ-121
@echo Шкурата Тарас Тарасовича
goto p
:act2
cls
echo Program 2
echo -------------------------------------------------
REM проверка на существование директории с папками
if *%2==* goto end
if exist %2 goto dir
if not exist %2 goto err21
REM если директория существует то переход на эту метку
:dir
cd %2
echo You enter directiry %2
echo -------------------------------------------------
REM переход только в тех случаях если меняется файл на котороый ставятся атрибуты
if *%3==* goto err22
:pr1
echo %3
echo -------------------------------------------------
REM переход в тех случаях если файл не меняется а изменен атрибут
:pr
if not exist %2%3 goto err33
if *%4==* goto sh
if %4==S goto start
if %4==H goto start
if %4==A goto start
if %4==R goto start
goto sh
REM установка атрибутов(посмотреть в конспекте использование цикла for)
:start
attrib %2%3 +%4
REM echo -------------------------------------------------
echo You attrib +%4 on file %3
shift /4
goto pr
REM если нет директории
:err21
echo your directiry %2 not exist
goto end
REM
:err22
echo ne vveli ima file
goto end
REM если не существует файла
:err33
echo File %3 not exist
echo -------------------------------------------------
REM ниже метки осуществляется переход на другой файл пропуская атрибуты файла которго не существует
:perr
shift /3
if *%3==* goto end
if %3==S goto perr
if %3==R goto perr
if %3==A goto perr
if %3==H goto perr
goto pr1
REM метка когда все атрибуты установлены и надо сменить файл(введено вывод атрибутов файла для наглядности ч о все дейсвительно установилось)
:sh
echo -------------------------------------------------
echo Attributes file %3
attrib %2%3
shift /3
echo -------------------------------------------------
if %3*==* goto end
goto pr1
:act3
if exist %2 goto k
if not exist %2 goto l
:k
cd /d %2
if exist *.%3 goto m
if not exist *.%3 goto l
:m
copy *.%3 %4
goto end
:l
echo
goto p
echo end
:end
:p
pause
Основні функціональні блоки тексту даної програми полягають у вказані на той командний файл який потрібно виконати то є на ту частину тексту з якої починає виконуватися той чи інший командний файл.
Кожний командний файл має мітку «:act» а цифра вказує який саме командний файл потрібно виконати. Також в випадку якщо не був вибраний ні один командний файл той йде перехід на мітку «:end» після чого виводиться повідомлення про закінчення роботи програми. Також всім відома команда «@ echo off» відключає відображення повідомлень про виконання кожної дії, а команда «cls» очищає те що відображено на екрані. Команда «echo» виводить повідомлення на екран яке ми вказуємо, команда «pause» призупинення виконання пакетного файлу і відображає повідомлення про стан виконання командного файлу. Всі інші команди які є в тексті даного командного файлу будуть пояснені далі при описанні кожного командного файлу окремо.
Також для того щоб дізнатися довідкову інформацію про командний файл потрібно ввести «\?» і вона буде виведена на монітор.
1.2.2 Текст командного файлу який виконує перейменування файлів у нові імена що вказуються
@ echo off
echo program 1
if exist %2 goto a
if not exist goto err
:a
cd %2
:begin
if *%3==* goto err3
set A=%3
if exist %A% goto ren
if not exist %A% goto err4
REM переход если файл существует
:ren
shift /3
if *%3==* goto err1
set B=%3
if exist %B% goto err2
ren %A% %B%
echo you rename %A% to %B%
goto next
REM
:err
echo net takoi directorii
goto end
REM не ввели имя 2 го файла
:err1
echo vi ne vveli novoe im'a
goto end
REM если файл с именем в которое хотим переименовать существует
:err2
echo pereimenovanie ne vozmozno fail c imenem %B% uze exist
goto next
REM не ввели имя 1 го файла
:err3
echo ne vveli imya 1 go faila
goto end
REM если первого файла не существует
:err4
echo file %A% not exist
shift /3
goto next
REM проверочка будут ли у нас еще файлы на переименование
:next
shift /3
if *%3==* goto end
goto begin
Даний текст командного файлу несе в собі таке смислове навантаження:
Відключення відображення повідомлень на екран про виконання кожної дії
Перевірка існування першого параметру а саме каталогу в якому лежить потрібний нам файл
Якщо існує перший параметр то переходимо на мітку:а
Якщо не існує перший параметр то переходимо на мітку:еrr
Далі йде вказання каталогу
Перевірка існування другого параметру а саме файла який будемо перейменовувати
Якщо файл існує перехід на мітку:ren
Якщо файл не існує то перехід на мітку:еrr4
Якщо не введене нове ім’я то йде перехід на мітку:err1
Перейменування файлу з вказанням початкового та нового ім’я файлу
Перевірка чи є ще вказані файли з новими ім’ями для перейменування
Якшо є то йде перехід на мітку:begin після чого повторюється все вище описане, якщо не має вказаних ще файлі то виконується перехід на мітку:end
Перехід на мітку:end
При переході на мітку:err виводиться повідомлення що не має такої директорії і виконується перехід на мітку:end і виконується завершення роботи
При переході на мітку:err1 виводиться повідомлення що не введено нове ім’я файла і виконується перехід на мітку:end і виконується завершення роботи
При переході на мітку:err4 виводиться повідомлення що не має такого файлу і виконується перехід на мітку:end і виконується завершення роботи
1.2.3 Текст командного файлу який виконує встановлення атрибутів на вказаний файл
@echo off
cls
REM проверка на существование директории с папками
if *%2==* goto end
if exist %2 goto ttt
if not exist %2 goto rrr
REM если директория существует то переход на эту метку
:ttt
cd %2
echo You enter directiry %1
echo -------------------------------------------------
REM переход только в тех случаях если меняется файл на котороый ставятся атрибуты
if *%3==* goto ppp
:pr12
echo %3
echo -------------------------------------------------
REM переход в тех случаях если файл не меняется а изменен атрибут
:pr11
if not exist %1%2 goto mmm
if *%4==* goto sh
if %4==S goto st1
if %4==H goto st1
if %4==A goto st1
if %4==R goto st1
goto shh
REM установка атрибутов
:st1
attrib %2%3 +%4
REM echo -------------------------------------------------
echo You attrib +%4 on file %3
shift /3
goto pr11
REM если нет директории
:rrr
echo your directiry %2 not exist
goto end
REM
:ppp
echo ne vveli ima file
goto end
REM если не существует файла
:mmm
echo File %3 not exist
echo -------------------------------------------------
REM ниже метки осуществляется переход на другой файл пропуская атрибуты файла которго не существует
:perr1
shift /2
if *%3==* goto end
if %3==S goto perr1
if %3==R goto perr1
if %3==A goto perr1
if %3==H goto perr1
goto pr12
REM метка когда все атрибуты установлены и надо сменить файл(введено вывод атрибутов файла для наглядности ч о все дейсвительно установилось)
:shh
echo -------------------------------------------------
echo Attributes file %3
attrib %2%3
shift /2
echo -------------------------------------------------
if %3*==* goto end
goto pr12
:end
Даний текст командного файлу має таке описання:
Відключення відображення повідомлень на екран
Перевірка існування першого параметру а саме каталогу в якому лежить потрібний нам файл
Якщо існує перший параметр то переходимо на мітку:dir
Якщо не існує перший параметр то переходимо на мітку:еrr21
Далі йде вказання каталогу
Після чого йде перевірка чи вказаний файл якщо ні то йде перехід на мітку:err22 після якої йде вивід повідомлення про те що не введено ім’я файлу.
Потім йде перевірка наявності вказаних атрибутів і встановлення вказаних атрибутів на вказані файли. Після чого виконується перевірка чи є ще файли на які потрібно встановлювати атрибути. Якщо є то все виконується знові якщо ні то перехід на мітку:end і виконується завершення закінчення роботи командного файлу.
1.2.4 Текст командного файлу який виконує копіювання файлі з вказаним розширенням на вказаний зовнішній носій
@echo off
if exist %1 goto a
if not exist %1 goto e
:a
cd %1
if exist *.%2 goto b
if not exist *.%2 goto e
:b
copy *.%2 %3
goto end
:e
echo error
goto p
:end
echo end
:p
pause
Даний текст командного файлу має таке описання:
Відключення відображення повідомлень на екран
Перевірка існування першого параметру а саме каталогу в якому лежить потрібний нам файл
Якщо існує перший параметр то переходимо на мітку:а
Якщо не існує перший параметр то переходимо на мітку:е
Далі йде вказання каталогу
Перевірка існування другого параметру а саме файлу на який будемо встановлювати атрибут
Якщо файл існує перехід на мітку:b
Якщо файл не існує то перехід на мітку:е
Копіювання файлу з вказанням розширення та вказанням зовнішнього носія на який виконується копіювання
Перехід на мітку:end
Відображення на екрані повідомлення про кінець роботи програми
При переході на мітку:е ми отримаємо на екрані повідомлення про помилку на перейдемо на мітку:р після чого виконається команда «Pause» яка виконує призупинення виконання пакетного файлу і відображає повідомлення про стан виконання командного файлу
1.3 Контрольний приклад виконання роботи командного файлу
1.3.1 Приклад виконання командного файлу перейменування файлу
Рис.1.5‒ Приклад виконання командного файлу в пакетному режимі
Тут видно те що введений потрібний командний файл меню,номер потрібної програми ім’я файлу який будемо перейменовувати та нове ім’я файлу.
На рисунку 1.5.1 який нижче відображається повідомлення про успішний кінець роботи командного файлу та сам уже перейменований файл
Рис.1.5.1‒ Приклад виконаного командного файлу
1.3.2 Контрольний приклад виконання командного файлу встановлення атрибуту на вказаний файл.
Рис.1.6‒ Приклад виконання командного файлу на встановлення атрибуту
В командній строчці вказаний командний файл меню, номер командного файлу який потрібен в меню,диск де розміщений потрібний нам файл його ім’я та атрибут який треба встановити.
На рисунку 1.6.1 який знаходиться нижче представлений результат виконання цього командного файлу
Рис.1.6.1‒ Виконаний командний файл
У вказані атрибуту був вибраний атрибут скритий в чом ми і переконуємось так як зникла папка з назвою «2013».Це свідчить про те що програма успішно працює.
1.3.3 Контрольний приклад виконання командного файлу для копіювання файлів з розширенням що вказується на зовнішній носій що вказується
Рис.1.7‒ Приклад виконання командного файлу копіювання
Завдання даного командного файлу копіювання файлів з розширенням що вказується на зовнішній носій що вказується. Я задав розширення bat та копіювання на флеш-носій який має назву G:
На рисунку 1.7.1 представлений результат успішно виконаних дій.
Рис.1.7.1‒ Виконаний командний файл копіювання
Рис.1.8‒ Приклад виклику довідки про командний файл
Рис.1.8.1‒ Приклад визваної довідки
В моєму командному фалі довідка викликається за допомогою «\?» і виводить інформацію про студента який виконав дану роботу. На рисунку 1.8.1 зображено довідку російскими літерами так як при розробці командного файлу на власній ЕОМ я використовув текстовий редактор AlkelPad де мав змогу встановити кодування тексту за стандартом 866(ОЕМ-русская) яка дає змогу виводи к командній строчці російскі літери.
З усього вище сказаного та представленого можна зробити висновок що як командний файл меню так і командні файли програм працюють і успішно виконують потрібні та вказані в них дії.
Дата добавления: 2015-09-29; просмотров: 24 | Нарушение авторских прав
<== предыдущая лекция | | | следующая лекция ==> |
Зміст господарської операції | | | Теоретические сведения .3 |