Добавил:
t.me Установите расширение 'SyncShare' для решения тестов в LMS (Moodle): https://syncshare.naloaty.me/ . На всякий лучше отключить блокировщик рекламы с ним. || Как пользоваться ChatGPT в России: https://habr.com/ru/articles/704600/ || Также можно с VPNом заходить в bing.com через Edge браузер и общаться с Microsoft Bing Chat, но в последнее время они форсят Copilot и он мне меньше нравится. || Студент-заочник ГУАП, группа Z9411. Ещё учусь на 5-ом курсе 'Прикладной информатики' (09.03.03). || Если мой материал вам помог - можете написать мне 'Спасибо', мне будет очень приятно :) Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Z9411_OS_KafkaRS_LR2.docx
Скачиваний:
12
Добавлен:
24.10.2023
Размер:
780.19 Кб
Скачать

МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

федеральное государственное автономное образовательное учреждение высшего образования

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»

ИНСТИТУТ НЕПРЕРЫВНОГО И ДИСТАНЦИОННОГО ОБРАЗОВАНИЯ

КАФЕДРА 41

ОЦЕНКА

ПРЕПОДАВАТЕЛЬ

канд. тех. наук, доцент

Аграновский А. В.

должность, уч. степень, звание

подпись, дата

инициалы, фамилия

ЛАБОРАТОРНАЯ РАБОТА №2

Разработка командных файлов средствами Командной строки Windows

по дисциплине: Операционные системы

РАБОТУ ВЫПОЛНИЛ

СТУДЕНТ ГР. №

Z9411

Кафка Р. С.

номер группы

подпись, дата

инициалы, фамилия

Студенческий билет №

2019/3603

Шифр ИНДО

Санкт-Петербург 2022

Цель работы: получение практических навыков разработки командных файлов для Командной строки Windows.

Методические указания: для записи командных файлов используйте программу Блокнот или любой текстовый процессор. Номер варианта задания соответствует номеру в списке группы для студентов очной формы обучения или сумме последних двух цифр в зачетке для групп заочного отделения.

Номер варианта – 3.

Порядок выполнения работы:

  1. Выполните все упражнения, описанные в теоретической части. Результаты выполнения зафиксируйте на скриншотах.

  2. Напишите командный файл, который создает и выводит на экран дерево каталогов (см. вариант). Запретите вывод исполняемых команд на экран. Результат выполнения зафиксируйте на скриншоте.

  3. Измените командный файл таким образом, чтобы названия каталогов, например, A1, B1, Person, можно было задавать в качестве параметров командного файла.

  4. Напишите командный файл, который удаляет созданное дерево каталогов.

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

    1. Выведите на экран разработанное в п.2 дерево каталогов.

    2. Создайте сообщение: Укажите имя каталога-источника копирования.

    3. Введите имя каталога-источника.

    4. Создайте сообщение: Укажите имя каталога-назначения копирования.

    5. Введите имя каталога-назначения.

    6. Создайте сообщение: Укажите имя файла для копирования.

    7. Выполните копирование файла.

    8. Подтвердите выполнение команды копирования путем обновления дерева каталогов.

  6. Создайте командный файл, который имеет в качестве параметра Командной строки ПОЛНОЕ имя некоторого файла. На диске создайте новую папку, имя которой совпадает с расширением этого файла и скопируйте все файлы, например, начинающиеся на букву А, созданного в п.2 дерева каталогов в эту папку.

Выполненные упражнения

Упражнение 1.4. Установка атрибутов.

  1. Создал в Блокноте текстовый файл Kafka_Roman_Z9411.txt и сохранил на винчестере:

Посмотрел Свойства файла через Проводник (рис. 1).

Рисунок 1 – Просмотр Свойства файла Kafka_Roman_Z9411.txt через программу Проводник

  1. Присвоил файлу три атрибута: только для чтения, скрытый и архивный (рис.2).

F:\>Attrib +A +H +R Kafka_Roman_Z9411.txt

Рисунок 2 – Присваивание атрибутов файлу

  1. Убедился, что файл с атрибутом Скрытый не будет виден в Проводнике (рис.3).

Рисунок 3 – Атрибуты файла в проводнике

  1. Отменил атрибут Скрытый командой (рис.4):

F:\>Attrib -H Kafka_Roman_Z9411.txt

Рисунок 4 – Отмена атрибута Скрытый

Упражнение 1.5. Исследование характеристик каталогов.

  1. Определил с помощью команд dir и find сколько байт занято и свободно в каталоге C:\Windows (рис. 5).

dir c:\Windows | find "байт"

Рисунок 5 – Определение занятого и свободного места в каталоге

  1. Определил количество папок в том же каталоге (рис. 6). У меня получилось 75 папок.

dir c:\Windows | find "папок"

Рисунок 6 – Определение количества папок в каталоге

  1. Подсчитал в том же каталоге количество файлов с расширением .bmp (рис. 7). В каталоге не оказалось ни одного файла с этим расширением.

dir c:\Windows\.bmp | find "файлов"

Рисунок 7 – Определение количества файлов с расширением .bmp в каталоге

  1. Вывел на экран названия всех файлов с расширением .py (рис. 8). Т.к. система новая, файлы с таким расширением отсутствуют.

dir | find /c ".py"

Рисунок 8 – Вывод на экран всех файлов с расширением .py

Упражнение 1.6. Изучение особенностей работы команды echo

  1. В Командной строке набрал и выполнил команду echo off. В строке приглашения остался только мигающий курсор (рис.9).

Рисунок 9 – Выключение режимы вывода команд на экран

  1. Набрал и выполнил команду dir (рис.10).

Рисунок 10 – Выполнение команды dir

  1. Провёл эксперименты еще с двумя командами. Зафиксировал наблюдения на рисунках 11 и 12. Без отображения каталога стало сложно ориентироваться какая папка сейчас используется. Команды выполняются как и ожидалось.

Рисунок 11 – Выполнение команды dir с echo off

Рисунок 12 – Поиск файлов с расширением .torrent с echo off

  1. Восстановил приглашение, набрав команду echo on (рис.13).

Рисунок 13 – Восстановление режима вывода команд на экран

Упражнение 1.7. Сценарии диалога с пользователем

  1. Создал командный файл для вывода на экран фразы «Hello, here! o/»

    1. Набрал в текстовом редакторе следующие команды

@echo off

rem Приветствие

echo Hello, here! o/

    1. Назвал файл primer1.bat (рис. 14).

Рисунок 14 – Создание файла primer1.bat

    1. Запустите файл на исполнение в Командной строке (рис.15).

Рисунок 15 – Запуск файла primer1.bat

  1. Объявил переменную с именем name и присвойте ей значение Kafka. Для вывода значения переменной на экран ее имя заключил между символами %.

    1. Набрал в текстовом редакторе следующие команды

@echo off

rem Создание и использование переменных

set name= Kafka

echo %name%

    1. Назвал файл primer2.bat (рис.16).

Рисунок 16 – Создание файла primet2.bat

    1. Запустил файл на исполнение в Командной строке (рис.17).

Рисунок 17 – Запуск файла primer2.bat

  1. Создал диалог с пользователем, в котором сначала запрашивают его возраст и выводят его на экран. Для ввода данных использовал конструкцию set/p.

@echo off

rem Диалог с пользователем

set /p age="Enter your age - "

echo Your age is - %age%

    1. Назвал файл primer3.bat (рис.18).

Рисунок 18 – Создание файла primer3.bat

    1. Запустил файл на исполнение в Командной строке (рис.19).

Рисунок 19 – Запуск файла primer3.bat

  1. Направил сообщения, выводимые командой ECHO, в текстовый файл. Выполнение этой задачи реализовал с помощью команд перенаправления ввода/вывода > и >>.

@ECHO OFF

ECHO Morning! > morning.txt

ECHO Evening! >> evening.txt

    1. Назвал файл primer4.bat (рис.20).

Рисунок 20 – Создание файла primer4.bat

    1. Запустил файл на исполнение в Командной строке несколько раз (рис.21).

Рисунок 21 – Запуск файла primer4.bat

  1. Разработал командный файл, который запрашивает у пользователя по очереди имя и возраст, а затем выводит их вместе на экран.

@echo off

set /p name="Enter your name - "

set /p age="Enter your age - "

echo Your name is - %name% Your age is - %age%

    1. Назвал файл primer5.bat (рис.22).

Рисунок 22 – Создание файла primer5.bat

    1. Запустил файл на исполнение в Командной строке (рис.23).

Рисунок 23 – Запуск файла primer5.bat

Упражнение 1.8. Копирование каталогов с параметрами

  1. Разработал командный файл copier.bat следующего содержания (рис.24):

@ECHO OFF

CLS

ECHO Файл %0 копирует каталог %1 в %2

XCOPY %1 %2 /S

Рисунок 24 – Командный файл copier.bat

  1. Запустил его из Командной строки с двумя параметрами (рис.25).

copier.bat F:\Folder1 C:\Folder2

Рисунок 25 – Запуск файла copier.bat

  1. Проверил вывод на экран сообщения (рис.26).

Файл copier.bat копирует каталог F:\Folder1 в C:\Folder2

Рисунок 27 – Выполнение файла copier.bat

  1. Проверил средствами программы Проводник выполнения копирования каталога F:\Folder1 в C:\Folder2 (рис.28).

Рисунок 28 – Проверка выполнения программы в проводнике

Упражнение 1.9. Работа с командными файлами.

  1. Написал командный файл Forest.bat, создающий в каталоге All дерево каталогов как показано на рис. 29. Программная реализация этой задачи с использованием команд md и cd показана в листинге 1.

Рисунок 29 – Дерево каталогов

Листинг 1. Командный файл Forest.bat

@echo off

md F:\MYDIR

md MYDIR\All\A1

md MYDIR\All\A2\B1\C1

md MYDIR\All\A2\B1\C2

md MYDIR\All\A2\B2

md MYDIR\All\A3\B3

tree F:\MYDIR

  1. Полученный результат представлен на рис.30.

Рисунок 30 – Результат выполнения файла Forest.bat

  1. В каталоге All создал следующие текстовые файлы (рис. 31):

– в файл first.txt внёс «Hello, Word!»;

– в файл second.txt написал «Hello, GUAP!»;

– в файл third.txt добавил « I am studying the command line.».

cd All

copy con first.txt

Hello, Word!

REM По окончании ввода нажмите ctrl+Z

copy con second.txt

Hello, GUAP!

REM По окончании ввода нажмите ctrl+Z

copy con third.txt

I am studying the command line!

REM По окончании ввода нажмите ctrl+Z

Рисунок 31 – Создание трёх текстовых файлов

4. Создал пакетный командный файл main.bat для описания следующей последовательности команд (рис.32).

@echo off

cd F:\MYDIR

    1. Удалил каталог В3. Создал в каталоге А1 подкаталоги В4 и В5.

Удалил каталог В2.

rd /S /Q All\A3\B3

md All\A1\B4

md All\A1\B5

rd /S /Q All\A2\B2

    1. Скопировал first.txt в каталог А2 и переименовал его в файл one.txt.

copy All\first.txt All\A2\

ren All\A2\first.txt one.txt

    1. Скопировал все текстовые файлы из каталога All в каталог С2.

copy All\*txt All\A2\B1\C2\

    1. Объединил все текстовые файлы, хранящиеся в каталоге С2, в файл

man.txt и вывел его содержимое на экран.

type All\A2\B1\C2\*.txt > All\A2\B1\C2\man.txt

type All\A2\B1\C2\man.txt

    1. Скопировал файл man.txt в папку Аll.

copy All\A2\B1\C2\man.txt All\

    1. Просмотрел дерево каталога All со всеми подкаталогами и файлами.

tree /a /f All

Рисунок 32 – Пакетный командный файл main.bat

Перед запуском командного файла перешёл в корневой каталог диска F.

Результат выполнения командного файла представлен на рис.33.

Рисунок 33 – Результат выполнения командного файла main.bat

Соседние файлы в предмете Операционные системы