Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

2

.docx
Скачиваний:
0
Добавлен:
16.05.2025
Размер:
583.53 Кб
Скачать

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

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

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»

Кафедра 41

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

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

Е. Л. Турнецкая

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

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

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

Лабораторная работа №2

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

по курсу: Операционные системы

СТУДЕНТКА ГР. №

Z0411

16.05.23

М. В. Карелина

номер группы

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

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

Номер студенческого билета: 2020/3477

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

2023

Вариант 8.

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

Порядок выполнения

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

2. Индивидуальное задание.

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

  1. Создадим в Блокноте текстовый файл Karelina_Z0411.txt и сохраним на винчестере: C:\ Karelina _Z0411.txt. Посмотрим Свойства файла через Проводник (Рис. 1).

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

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

C:\>Attrib +A +H +R Karelina_Z0411.txt

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

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

4. Отменим атрибут Скрытый командой

C:\Users\ytina>Attrib -H Karelina_Z0411.txt

Файл стал снова виден в Проводнике.

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

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

С:\Users\ytina>dir C:\Windows | find "байт"

  1. Определить количество папок в том же каталоге

С:\Users\ytina>dir C:\Windows | find "папок"

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

С:\Users\ytina>dir C:\Windows\*.bmp /S | find "файлов"

  1. Вывести на экран названия всех файлов с расширением .py.

С:\Users\ytina>dir C:\Windows | find /C ".py"

Команды и их результат на Рисунке 3.

Рисунок 3. Исследование характеристик каталогов

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

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

2. Наберем и выполним команду dir.

3. Также выполним еще две команды – date и systeminfo и зафиксируем результат на скриншотах.

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

Работа в командной строке на Рис. 4-6.

Рисунок 4. Изучение особенностей работы команды echo

Рисунок 5. Изучение особенностей работы команды echo

Рисунок 6. Изучение особенностей работы команды echo

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

  1. Создадим командный файл для вывода на экран фразы «My name is Maria»

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

@echo off

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

echo My name id Maria

В командных файлах для лучшего понимания программного кода часто используют строки комментария, вводимые с помощью команды rem.

    1. Я назвала файл Karelina_Z0411.bat.

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

Вызов командного файла осуществляется из среды cmd.exe командой, которая имеет формат: Диск:\Путь \Имя_файла [команды] (Рис. 7).

Рисунок 7. Исполнение .bat файла

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

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

@echo off

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

set name= MEOW

echo %name%

    1. Я назвала файл Karelina_Z04111.bat.

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

Рисунок 8. Использование переменных в .bat файлах

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

  2. @ECHO OFF

  3. SET /P name= Enter your name

  4. ECHO Your name is - %name%

  5. 3.1. Я назвала файл Karelina_Z041111.bat.

  6. 3.2. Запустим файл на исполнение в Командной строке (Рис. 9).

Рисунок 9. Диалог с пользователем

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

@ECHO OFF

ECHO Hello! > hello.txt

ECHO Farewell >> bye.txt

4.1. Я назвала файл Karelina_Z0411111.bat.

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

Рисунок 10. Работа с текстовыми файлами

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

@ECHO OFF

SET /P name= Enter your name

SET /P age= Enter your age

ECHO Your name is - %name% Your age is - %age%

5.1. Я назвала файл Karelina_Z04111111.bat.

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

Рисунок 11. Использование переменных в .bat файлах

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

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

@ECHO OFF

CLS

ECHO File %0 puts catalog %1 in %2

XCOPY %1 %2 /S

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

copy.bat C:\kurs C:\Backup

  1. Проверьте вывод на экране сообщения (Рис. 12).

Рисунок 12. Копирование каталога

  1. Проверим средствами программы Проводник выполнение копирования каталога C:\kurs со всеми его подкаталогами в C:\Backup (Рис. 13).

Рисунок 13. Каталог скопирован

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

  1. Напишем командный файл forest.bat, создающий в каталоге All дерево каталогов, как показано на рисунке. Программная реализация этой задачи с использованием команд md и cd показана ниже. Каталог mydir создан заранее на диске C.

@ECHO OFF

md C:\mydir

md C:\mydir\ALL\A1

md C:\mydir\ALL\A2\B1\C1

md C:\mydir\ALL\A2\B1\C2

md C:\mydir\ALL\A2\B2

md C:\mydir\ALL\A3\B3

tree C:\mydir

  1. Запустим его из Командной строки (Рис. 14).

  2. В каталоге ALL создадим следующие текстовые файлы (Рис. 15):

– в файл first.txt внесем «Hello, World!»;

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

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

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

copy con first.txt

Hello, World! ^Z

copy con second.txt

Hello, GUAP! ^Z

copy con third.txt

I am studying the command line! ^Z

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

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

    1. Удалите каталог B3. Создадим в каталоге A1 подкаталоги B4 и B5. Удалим каталог B2.

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

    3. Скопируем все текстовые файлы из каталога ALL в каталог C2.

    4. Объединим все текстовые файлы, хранящиеся в каталоге C2, в файл man.txt и выведем его содержимое на экран.

    5. Скопируем файл man.txt в папку ALL.

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

Перед запуском командного файла перейдем в корневой каталог диска D. Фрагмент выполнения командного файла показан на Рис. 16.

@ECHO OFF

cd C:\mydir

rd /S /Q ALL\A3\B3

md C:\mydir\ALL\A1\B4

md C:\mydir\ALL\A1\B5

rd /S /Q ALL\A2\B2

copy C:\mydir\ALL\first.txt ALL\A2\one.txt

copy C:\mydir\ALL\*.txt ALL\A2\B1\C2\

type C:\mydir\ALL\A2\B1\C2\*.txt > ALL\A2\B1\C2\man.txt

type C:\mydir\ALL\A2\B1\C2\man.txt

copy C:\mydir\ALL\A2\B1\C2\man.txt ALL\

tree /a /f ALL

Рисунок 16. Дерево каталога ALL

Теперь приступим к выполнению индивидуального задания.

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

@ECHO OFF

md C:\Variant8

cd C:\Variant8

md C:\Variant8\GUAP\Person

md C:\Variant8\GUAP\Ability

md C:\Variant8\GUAP\Performance\Qualitie

md C:\Variant8\A1\B1

md C:\Variant8\A2

md C:\Variant8\A3

md C:\Variant8\B3

md C:\Variant8\B2\C1

md C:\Variant8\B2\C2

md C:\Variant8\B2\C3

tree C:\Variant8

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

  1. Изменим командный файл – Tree2.bat - таким образом, чтобы названия каталогов A1, A2, A3, Person можно было задавать в качестве параметров командного файла (Рис. 18).

@ECHO OFF

md C:\Variant9

cd C:\Variant9

md C:\Variant9\GUAP\%4

md C:\Variant9\GUAP\Ability

md C:\Variant9\GUAP\Performance\Qualitie

md C:\Variant9\%1\B1

md C:\Variant9\%2

md C:\Variant9\%3

md C:\Variant9\B3

md C:\Variant9\B2\C1

md C:\Variant9\B2\C2

md C:\Variant9\B2\C3

tree C:\Variant9

Рисунок 18. Создание дерева каталогов с параметрами имен

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

@ECHO OFF

rd /s/q D:\Variant12\

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

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

    2. Создадим сообщение: «Specify the name of the copy source directory».

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

    4. Создадим сообщение: «Specify the name of the copy destination directory».

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

    6. Создадим сообщение: «Specify the name of the file to copy».

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

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

@ECHO OFF

md C:\Variant1

cd C:\Variant1

md C:\Variant1\GUAP\%4

md C:\Variant1\GUAP\Ability

md C:\Variant1\GUAP\Performance\Qualitie

echo FILE > C:\Variant1\GUAP\Performance\Qualitie\File.txt

md C:\Variant1\%1\B1

md C:\Variant1\%2

md C:\Variant1\%3

md C:\Variant1\B3

md C:\Variant1\B2\C1

md C:\Variant1\B2\C2

md C:\Variant1\B2\C3

tree /f C:\Variant1

set /p Source= Specify the name of the copy source directory

set /p Dest= Specify the name of the copy destination directory

set /p File= Specify the name of the file to copy

copy %Source%\%File% %Dest%

tree /f C:\Variant1

Результат исполнения файла Copy.bat на Рис. 19.

Рисунок 19. Исполнение файла Copy.bat

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

Выполнение файла на Рис. 20.

@ECHO OFF

set papka= %~x1

md %papka%

robocopy Variant9\ %papka%\ V*.* /s

Рисунок 20. Исполнение .bat файла

Вывод

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

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