
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
федеральное государственное автономное образовательное учреждение высшего образования
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»
ИНСТИТУТ НЕПРЕРЫВНОГО И ДИСТАНЦИОННОГО ОБРАЗОВАНИЯ
КАФЕДРА 41
|
ОЦЕНКА
ПРЕПОДАВАТЕЛЬ
канд. тех. наук, доцент |
|
|
|
Аграновский А. В. |
должность, уч. степень, звание |
|
подпись, дата |
|
инициалы, фамилия |
ЛАБОРАТОРНАЯ РАБОТА №2 |
Разработка командных файлов средствами Командной строки Windows
|
по дисциплине: Операционные системы |
РАБОТУ ВЫПОЛНИЛ
СТУДЕНТ ГР. № |
Z9411 |
|
|
|
Кафка Р. С. |
|
номер группы |
|
подпись, дата |
|
инициалы, фамилия |
Студенческий билет № |
2019/3603 |
|
|
|
Шифр ИНДО |
|
Санкт-Петербург 2022
Цель работы: получение практических навыков разработки командных файлов для Командной строки Windows.
Методические указания: для записи командных файлов используйте программу Блокнот или любой текстовый процессор. Номер варианта задания соответствует номеру в списке группы для студентов очной формы обучения или сумме последних двух цифр в зачетке для групп заочного отделения.
Номер варианта – 3.
Порядок выполнения работы:
Выполните все упражнения, описанные в теоретической части. Результаты выполнения зафиксируйте на скриншотах.
Напишите командный файл, который создает и выводит на экран дерево каталогов (см. вариант). Запретите вывод исполняемых команд на экран. Результат выполнения зафиксируйте на скриншоте.
Измените командный файл таким образом, чтобы названия каталогов, например, A1, B1, Person, можно было задавать в качестве параметров командного файла.
Напишите командный файл, который удаляет созданное дерево каталогов.
Создайте командный файл, копирующий в интерактивном режиме файл, имя которого должно быть задано пользователем в процессе диалога:
Выведите на экран разработанное в п.2 дерево каталогов.
Создайте сообщение: Укажите имя каталога-источника копирования.
Введите имя каталога-источника.
Создайте сообщение: Укажите имя каталога-назначения копирования.
Введите имя каталога-назначения.
Создайте сообщение: Укажите имя файла для копирования.
Выполните копирование файла.
Подтвердите выполнение команды копирования путем обновления дерева каталогов.
Создайте командный файл, который имеет в качестве параметра Командной строки ПОЛНОЕ имя некоторого файла. На диске создайте новую папку, имя которой совпадает с расширением этого файла и скопируйте все файлы, например, начинающиеся на букву А, созданного в п.2 дерева каталогов в эту папку.
Выполненные упражнения
Упражнение 1.4. Установка атрибутов.
Создал в Блокноте текстовый файл Kafka_Roman_Z9411.txt и сохранил на винчестере:
Посмотрел Свойства файла через Проводник (рис. 1).
Рисунок
1 – Просмотр Свойства файла
Kafka_Roman_Z9411.txt
через программу Проводник
Присвоил файлу три атрибута: только для чтения, скрытый и архивный (рис.2).
F:\>Attrib +A +H +R Kafka_Roman_Z9411.txt
Рисунок
2 – Присваивание атрибутов файлу
Убедился, что файл с атрибутом Скрытый не будет виден в Проводнике (рис.3).
Рисунок
3 – Атрибуты файла в проводнике
Отменил атрибут Скрытый командой (рис.4):
F:\>Attrib -H Kafka_Roman_Z9411.txt
Рисунок
4 – Отмена атрибута Скрытый
Упражнение 1.5. Исследование характеристик каталогов.
Определил с помощью команд dir и find сколько байт занято и свободно в каталоге C:\Windows (рис. 5).
dir c:\Windows | find "байт"
Рисунок
5 – Определение занятого и свободного
места в каталоге
Определил количество папок в том же каталоге (рис. 6). У меня получилось 75 папок.
dir c:\Windows | find "папок"
Рисунок
6 – Определение количества папок в
каталоге
Подсчитал в том же каталоге количество файлов с расширением .bmp (рис. 7). В каталоге не оказалось ни одного файла с этим расширением.
dir c:\Windows\.bmp | find "файлов"
Рисунок
7 – Определение количества файлов с
расширением .bmp
в каталоге
Вывел на экран названия всех файлов с расширением .py (рис. 8). Т.к. система новая, файлы с таким расширением отсутствуют.
dir | find /c ".py"
Рисунок
8 – Вывод на экран всех файлов с расширением
.py
Упражнение 1.6. Изучение особенностей работы команды echo
В Командной строке набрал и выполнил команду echo off. В строке приглашения остался только мигающий курсор (рис.9).
Рисунок
9 – Выключение режимы вывода команд на
экран
Набрал и выполнил команду dir (рис.10).
Рисунок
10 – Выполнение команды dir
Провёл эксперименты еще с двумя командами. Зафиксировал наблюдения на рисунках 11 и 12. Без отображения каталога стало сложно ориентироваться какая папка сейчас используется. Команды выполняются как и ожидалось.
Рисунок
11 – Выполнение команды dir
с echo
off
Рисунок
12 – Поиск файлов с расширением .torrent
с echo
off
Восстановил приглашение, набрав команду echo on (рис.13).
Рисунок
13 – Восстановление режима вывода команд
на экран
Упражнение 1.7. Сценарии диалога с пользователем
Создал командный файл для вывода на экран фразы «Hello, here! o/»
Набрал в текстовом редакторе следующие команды
@echo off
rem Приветствие
echo Hello, here! o/
Назвал файл primer1.bat (рис. 14).
Рисунок
14 – Создание файла primer1.bat
Запустите файл на исполнение в Командной строке (рис.15).
Рисунок
15 – Запуск файла primer1.bat
Объявил переменную с именем name и присвойте ей значение Kafka. Для вывода значения переменной на экран ее имя заключил между символами %.
Набрал в текстовом редакторе следующие команды
@echo off
rem Создание и использование переменных
set name= Kafka
echo %name%
Назвал файл primer2.bat (рис.16).
Рисунок
16 – Создание файла primet2.bat
Запустил файл на исполнение в Командной строке (рис.17).
Рисунок
17 – Запуск файла primer2.bat
Создал диалог с пользователем, в котором сначала запрашивают его возраст и выводят его на экран. Для ввода данных использовал конструкцию set/p.
@echo off
rem Диалог с пользователем
set /p age="Enter your age - "
echo Your age is - %age%
Назвал файл primer3.bat (рис.18).
Рисунок
18 – Создание файла primer3.bat
Запустил файл на исполнение в Командной строке (рис.19).
Рисунок
19 – Запуск файла primer3.bat
Направил сообщения, выводимые командой ECHO, в текстовый файл. Выполнение этой задачи реализовал с помощью команд перенаправления ввода/вывода > и >>.
@ECHO OFF
ECHO Morning! > morning.txt
ECHO Evening! >> evening.txt
Назвал файл primer4.bat (рис.20).
Рисунок
20 – Создание файла primer4.bat
Запустил файл на исполнение в Командной строке несколько раз (рис.21).
Рисунок
21 – Запуск файла primer4.bat
Разработал командный файл, который запрашивает у пользователя по очереди имя и возраст, а затем выводит их вместе на экран.
@echo off
set /p name="Enter your name - "
set /p age="Enter your age - "
echo Your name is - %name% Your age is - %age%
Назвал файл primer5.bat (рис.22).
Рисунок
22 – Создание файла primer5.bat
Запустил файл на исполнение в Командной строке (рис.23).
Рисунок
23 – Запуск файла primer5.bat
Упражнение 1.8. Копирование каталогов с параметрами
Разработал командный файл copier.bat следующего содержания (рис.24):
@ECHO OFF
CLS
ECHO Файл %0 копирует каталог %1 в %2
XCOPY %1 %2 /S
Рисунок
24 – Командный файл copier.bat
Запустил его из Командной строки с двумя параметрами (рис.25).
copier.bat F:\Folder1 C:\Folder2
Рисунок
25 – Запуск
файла
copier.bat
Проверил вывод на экран сообщения (рис.26).
Файл copier.bat копирует каталог F:\Folder1 в C:\Folder2
Рисунок
27 – Выполнение файла copier.bat
Проверил средствами программы Проводник выполнения копирования каталога F:\Folder1 в C:\Folder2 (рис.28).
Рисунок
28 – Проверка выполнения программы в
проводнике
Упражнение 1.9. Работа с командными файлами.
Написал командный файл 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
Полученный результат представлен на рис.30.
Рисунок
30 – Результат выполнения файла Forest.bat
В каталоге 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
Удалил каталог В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
Скопировал first.txt в каталог А2 и переименовал его в файл one.txt.
copy All\first.txt All\A2\
ren All\A2\first.txt one.txt
Скопировал все текстовые файлы из каталога All в каталог С2.
copy All\*txt All\A2\B1\C2\
Объединил все текстовые файлы, хранящиеся в каталоге С2, в файл
man.txt и вывел его содержимое на экран.
type All\A2\B1\C2\*.txt > All\A2\B1\C2\man.txt
type All\A2\B1\C2\man.txt
Скопировал файл man.txt в папку Аll.
copy All\A2\B1\C2\man.txt All\
Просмотрел дерево каталога All со всеми подкаталогами и файлами.
tree /a /f All
Рисунок
32 – Пакетный командный файл main.bat
Перед запуском командного файла перешёл в корневой каталог диска F.
Результат выполнения командного файла представлен на рис.33.
Рисунок
33 – Результат выполнения командного
файла main.bat