- •Консольный режим и пакетные файлы в ос Windows
- •1. Основные сведения
- •1.1. Консольный режим Windows
- •1.2. Структура команды
- •1.3. Переменные среды
- •1.4. Некоторые команды консольного режима
- •Просмотр и изменение сопоставлений файлов.
- •Вывод и изменение атрибутов файлов
- •Вывод имени либо смена текущего каталога
- •Очистка экрана.
- •Запуск новой копии интерпретатора команд
- •Сравнение содержимого двух файлов или наборов файлов.
- •Копирование одного или нескольких файлов в другое место
- •Вывод или изменение даты
- •Удаление одного или нескольких файлов
- •Вывод списка файлов и подкаталогов из указанного каталога
- •Копирование содержимого одного гибкого диска на другой
- •Редактирование и повторный вызов команд Windows; создание макросов dosKey
- •Вывод сообщений и переключение режима отображения команд на экране
- •Завершение работы интерпретатора команд
- •Сравнение двух файлов или двух наборов файлов и вывод различий между ними
- •Поиск текстовой строки в одном или нескольких файлах
- •Поиск строк в файлах. (только для Windows nt)
- •Форматирование диска для работы с Windows
- •Просмотр и изменение типов файлов, сопоставленных с расширением имен файлов
- •Удаление каталога
- •Переименование одного или нескольких файлов
- •Замена файлов. (только для Windows nt)
- •Вывод, задание и удаление переменных среды
- •Сортировка ввода с выводом результатов
- •Запуск указанной программы или команды в отдельном окне
- •Сопоставление имени диска указанному пути
- •Вывод или изменение времени
- •Вывод версии Windows
- •Вывод метки и серийного номера тома для диска
- •Копирование файлов и структур каталогов
- •1.5. Назначение и возможности пакетных файлов
- •1.6. Параметры пакетных файлов
- •Позиционные параметры
- •Использование переменных среды в пакетных файлах
- •Параметр errorlevel
- •1.7. Команды для пакетных файлов
- •Вызов одного пакетного файла из другого
- •Ввод ответа пользователя с клавиатуры
- •Вывод сообщений и переключение режима отображения команд на экране
- •Выполнение указанной команды для каждого файла набора
- •Передача управления содержащей метку строке пакетного файла
- •Оператор условного выполнения команд в пакетном файле
- •Приостановка выполнения пакетного файла и вывод сообщения: «Для продолжения нажмите любую клавишу . . .»
- •Помещение комментариев в пакетные файлы
- •Изменение содержимого (сдвиг) подставляемых параметров для пакетного файла
- •1.8. Порядок выполнения работы
- •1.9. Пример выполнения лабораторной работы
1.9. Пример выполнения лабораторной работы
Задание. Написать и отладить пакетный файл, который получает в качестве параметров одно или несколько расширений имени файла и для каждого файла в текущем каталоге, имеющего одно из заданных расширений, выполняет одно из трех действий по выбору пользователя: удаляет файл, выдает его порциями на экран или пропускает без обработки.
Решение. Для выполнения поставленного задания можно использовать два приведенных ниже пакетных файла.
Файл Laba.bat:
@echo off
:loop
if (%1)==() goto Exit
for %%i in (*.%1) do call DoIt %%i
shift
goto loop
:Exit
Файл DoIt.bat:
choice /C:УВП /N Файл %1 (У - удалить, В - выдать, П - пропустить):
if errorlevel 3 goto Exit
if errorlevel 2 goto Type
w:st="on"del %1
goto Exit
:Type
type %1 | more
:Exit
Задания на лабораторную работу.
Написать и отладить пакетный файл, который получает в качестве параметров дату, находит все файлы в каталоге с датой создания равной указной датой и выполняет действие по выбору пользователя: архивация файлов, удаление файлов. Информация о производимой операции должна выдаваться на экран.
Написать и отладить пакетный файл, который выдает перечень файлов из указанных пользователем каталогов удовлетворяющих условию: скрытый и системный. Выполняет с файлами операции: убрать скрытые и убрать системные.
Написать и отладить пакетный файл, который для всех файлов из указанного каталога создает подкаталоги с именем равной дате создания файла и переносит в эти каталоги файлы с указанной датой создания.
Написать и отладить пакетный файл, который по выбору пользователя переносит в архив или все файлы из каталога, формируя имя архива указанное пользователем, или всех каталогов. При этом не должно получаться вложенных архивов.
Написать и отладить пакетный файл, который по выбору пользователя будет завершать работу процессов.
Создать задание которое будет запускаться каждые 2-4-8-16 и. т. д. минут.
Написать и отладить пакетный файл, который по выбору даты пользователем будет архивировать все файлы в каталоге и подкаталогов двухнедельной давности.
Создать задание которое выведет список процессов компьютера занимающих от 1МБ до 10 МБ памяти.
Создать задание которое выведет список файлов начинающихся на s и созданных не позднее указанной пользователем даты.
Создать задание которое добавляет файлы из каталога к архиву текущей недели. Архивы более недели должны быть перенесены в другой каталог.
Создать задание которое при изменении размера файла, произведет его архивацию.
Создать назначенное задание реализующее следующий механизм создания резервного копирования данных в каталоге.
Данные представлены виде набора лог файлов и имеют расширения .log. Формат имени файла YYYYMMDD.log, где YYYY – год лог файла, MM- месяц, DD – день лог файла.
Необходимо ежедневно архивировать лог файлы с датой ранее 3 дней от текущей даты. Лог файлы должны создаваться по принципу:
1. Если не прошел месяц, то файлы просто архивируются за каждую дату и остаются в каталоге с логами
2. Если прошло более месяца и 3 дня, то все файлы за прошлый месяц должны быть с архивированы в один файл и переписаны в другой каталог.
3. Файлы за последние 3 дня не подлежат архивации.
4. * - Логи за субботу и воскресенье хранятся в отдельных файлах в отличие от всех остальных архивов.