Лабораторная работа №2. Санктпетербургский горный университет Кафедра автоматизации технологических процессов и производств Отчёт по лабораторной работе 2
Скачать 0.62 Mb.
|
ПЕРВОЕ ВЫСШЕЕ ТЕХНИЧЕСКОЕ УЧЕБНОЕ ЗАВЕДЕНИЕ РОССИИ МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное бюджетное образовательное учреждение высшего образования “САНКТ-ПЕТЕРБУРГСКИЙ ГОРНЫЙ УНИВЕРСИТЕТ” Кафедра автоматизации технологических процессов и производств Отчёт по лабораторной работе №2 По дисциплине: Операционные системы Тема: Язык интерпретатора и командные файлы Автор: студент гр. АПГ – 21 ____________ /Шелгоев А.В./ ПРОВЕРИЛ: ассистент ____________ /Мартынова Е.С./ Санкт-Петербург 2022 Цель: знакомство с языком интерпретатора командной строки ОС MS Windows и командными файлами. Задание: 1. Удаление из каталога, заданного первым параметром, файлов, которые присутствуют и в каталоге, указанным вторым параметром. Предусмотреть запрос пользователю на подтверждение удаления. 2. В каталоге, указанном первым параметром КФ, и его подкаталогах, найти файлы, созданные во второй половине рабочего дня (после 14 часов) и скопировать их в отдельный подкаталог. Задание 1. По умолчанию команды пакетного файла перед исполнением выводятся на экран, что выглядит не очень эстетично. С помощью команды ECHO OFF можно отключить дублирование команд, идущих после нее (сама команда ECHO OFF при этом все же дублируется). Самые широкие возможности имеет команда FOR с ключом /F: FOR /F ["ключи"] %переменная IN (набор) DO команда [параметры]. Здесь параметр «набор» содержит имена одного или нескольких файлов, которые по очереди открываются, читаются и обрабатываются. Обработка состоит в чтении файла, разбиении его на отдельные строки текста и выделении из каждой строки заданного числа подстрок. Затем найденная подстрока используется в качестве значения переменной при выполнении основного тела цикла (заданной команды). Рисунок 1 – Код для командного файла для задания 1 Определение номеров подстрок, выделяемых из каждой строки файла и передаваемых для выполнения в тело цикла. Если последний символ в строке TOKENS= является звездочкой, то создается дополнительная переменная, значением которой будет весь текст, оставшийся в строке после обработки последней подстроки. DIR - Вывод списка файлов и подкаталогов в указанном каталоге. /a - Отображение файлов с указанными атрибутами. d - Каталоги. (не выводит имена каталогов) /b - Вывод только имен файлов. Команда del удаляет заданные файлы через командную строку. /p - Задание удаления с подтверждением для каждого файла. /f - Задание удаления файлов с атрибутом «Только чтение». /a - Удаление файлов с заданными атрибутами. Рисунок 2 – Папки с общим файлом. Рисунок 3 – Выполнение командного файла. Рисунок 4 – Папки после выполнения командного файла. Задание 2. Команда SETLOCAL определяет начало области локальных установок переменных среды. Другими словами, изменения среды, внесенные после выполнения SETLOCAL, будут являться локальными относительно текущего пакетного файла. Если для получения значения переменной вместо знаков процента (%) использовать восклицательный знак (!) и предварительно включить режим связывания времени выполнения командой SETLOCAL ENABLEDELAYEDEXPANSION. Стандартные переменные среды автоматически инициализируются в процессе загрузки операционной системы. Такими переменными являются: WINDIR, которая определяет расположение каталога Windows, TEMP, которая определяет путь к каталогу для хранения временных файлов Windows. PATH, в которой хранится системный путь (путь поиска), то есть список каталогов, в которых система должна искать выполняемые файлы или файлы совместного доступа (например, динамические библиотеки). Кроме того, в командных файлах с помощью команды SET можно объявлять собственные переменные среды. Самые широкие возможности имеет команда FOR с ключом /F: FOR /F ["ключи"] %переменная IN (набор) DO команда [параметры] DIR - Вывод списка файлов и подкаталогов в указанном каталоге. /a - Отображение файлов с указанными атрибутами. d - Каталоги. (не выводит имена каталогов). /b - Вывод только имен файлов. /s - Отображение файлов из указанного каталога и всех его подкаталогов. FINDSTR Назначение команды - поиск строк в текстовых файлах. /i - Определяет, что поиск будет вестись без учета регистра. Для того, чтобы вызвать внешний командный файл с последующим возвратом в первоначальный файл, нужно использовать специальную команду CALL файл. set etime=1400 - выставляем пороговое время на 14:00 и убираем разделитель ":". Ищем все файлы с расширением ".jpg", в каталоге под названием SAVE и всех его подкаталогах. Форматируем дату/время создания файла и извлекаем переменную времени. Сравниваем время создания файла (больше, либо равно) с нашим пороговым значением, и копируем такие файлы в NEWSAVE Рисунок 5 – Код командного файла для задания 2 Рисунок 6 – Папка с файлами и пустая папка для копирования файлов. Рисунок 7 – Перенос файлов в новую папку после выполнения командного файла. Вывод: Проведена работа с командными файлами и рассмотрен язык интерпретатора командной строки ОС MS Windows. |