Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2012 КОНТРОЛЬНАЯ РАБОТА ПО ОС / КОНТРОЛЬНАЯ РАБОТА.doc
Скачиваний:
42
Добавлен:
29.05.2015
Размер:
320.51 Кб
Скачать

Работа с переменными среды Windows

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

Задание 4 Создание файла с заданным именем

Написать командный файл, который осуществляет процесс создания на заданном диске компьютера файла с названием и содержанием соответствующим варианту. Имя файла имеет следующий шаблон: XX_YY.TXT,

где XX – переменная, которая запрашивается у пользователя при выполнении командного файла (любое значение);

где YY – переменная, получаемая в результате преобразования в командном файле значений системных переменных среды (см. приложение) в соответствии с вариантом задания.

Содержание файла так же формируется из значений системных переменных среды.

Примечание: если переменная YY конструируется из разных символов одной и той же или разных переменных, то они следуют без пробелов. Например, значение YY соответствует дню и году переменной DATE. При DATE =08.04.2010 значение YY будет равно 082010.

Таблица 2- Исходные данные к заданию 3

№ Варианта

Значение YY

Содержимое файла

В1

Текущий год

Расположение профиля All Users

В2

Текущий месяц

Имя текущего каталога

В3

Текущий день

Имя компьютера

В4

Текущий час

Текущая дата

В5

Текущая минута

Код уровня ошибки последней программы

В6

3 первых символа переменой COMPUTERNAME

Расположение каталога, в котором программы хранят данные по умолчанию

В7

3 первых символов переменой USERNAME

Параметры командной строки, которые использовались для запуска текущего экземпляра программы CMD.EXE

В8

3 первых символа системной переменой OS

Номер версии текущего расширения командного процессора

В9

2 последних символа системной переменой OS

Путь к исполняемому файлу командного интерпретатора

В10

2 последних символа переменой COMPUTERNAME

Полный путь к домашнему каталогу пользователя

В11

2 последних символа переменой USERNAME

Версия операционной системы

В12

Архитектура процессора

День и год переменной DATE

В13

День и месяц переменной DATE

Список расширений, которые распознаются ОС, как расширения исполняемых файлов

В14

День и год переменной DATE

Архитектура процессора

В15

Месяц переменной DATE

Описание процессора

В16

Месяц и год переменной DATE

Номер модели процессора, установленного в компьютере

В17

Часы и минуты системной переменной TIME

Номер версии модели процессора

В18

Часы и день системных переменных TIMEиDATE

Параметры приглашения командной строки для текущего интерпретатора

В19

Минуты и день системных переменных TIMEиDATE

Случайное десятичное число от 0 до 32767

В20

Часы и год системных переменных TIMEиDATE

Буква диска, на котором расположен корневой каталог Windows

В21

Минуты и год системных переменных TIMEиDATE

Путь к временным каталогам, принятым по умолчанию

В22

Часы и месяц системных переменных TIMEиDATE

Архитектура процессора

В23

Минуты и месяц системных переменных TIMEиDATE

Текущее время

В25

Каталог системного реестра (системная переменная SystemRoot)

Имя домена, в котором хранится учетная запись пользователя

В26

Каталог ОС (системная переменная WinDir)

Имя пользователя, который зарегистрирован в системе в текущий момент времени

В27

Версия ОС Windows(системная переменнаяOS)

Путь к профилю текущего пользователя

В28

Параметры приглашения командной строки для текущего интерпретатора (системная переменнаяPROMPT)

Путь к каталогу операционной системы

В29

Имя пользователя (системная переменная USERNAME)

Часы и день системных переменных TIMEиDATE

В30

Папка хранения временных файлов (системная переменная TEMP)

Путь поиска исполняемых файлов

Рекомендации к выполнению задания

1. Ознакомиться с теоретическим материалом;

2. Задание выполняется на локальном компьютере, в оболочке командной строки, на диске указанном преподавателем (если задание выполняется в компьютерном классе). Командный файл создаётся в соответствии с вариантом задания с именем «Lab4-Группа-Фамилия.bat». Для корректного отображения русских шрифтов рекомендуется использовать текстовый редактор с поддержкой ввода в кодировке 866 (например Notepad2).

3. Структура программы:

блок описания – фамилия и имя студента, номер группы, название лабораторной работы;

запрос данных у пользователя – имя каталога (или папки) в котором будет создаваться файл, часть имени файла - XX;

проверка введенных данных - существование каталога (если не существует, то его надо создать);

подготовка переменной значение которой соответствует требуемому имени файла;

создание файла с заданным именем и занесение в него информации (если файл с таким именем уже существует, то его надо переписать);

выдача результатов – содержание созданного файла;

4. Для отчёта представить структуру задаваемого в соответствии с вариантом имени файла, его содержимое, программу с комментариями, электронный вариант командного файла.

Определение значения переменной

Внутри командных файлов можно работать с переменными, которые называются переменными среды Windows (или переменными окружения), каждая из которых хранится в оперативной памяти, имеет свое уникальное имя, а ее значением является строка. Стандартные (или системные) переменные автоматически инициализируются в процессе загрузки операционной системы. Такими переменными являются:

WINDIR - определяет расположение каталога Windows;

TEMP - определяет путь к каталогу для хранения временных файлов Windows;

PATH - определяет путь поиска, то есть список каталогов, в которых система должна искать выполняемые файлы или файлы совместного доступа (например, динамические библиотеки);

COMPUTERNAME – имя компьютера

OS – версия операционной системы

SYSTEMROOT - определяет путь к каталогу для хранения системного реестра и др. системные переменные.

Чтобы просмотреть список системных переменных среды Windows надо в командной строке набрать команду Set.

Рисунок 2- Результат выполнения команды SET

Создание (или объявление) собственных переменных, которые используются в командных файлах, осуществляется с помощью команды:

Set <имя переменной>=<значение переменной>

При этом ее значением является строка. Например:

C:\>SET VAR=MYDOC

Переменной VAR присваивается значение «MYDOC»

C:\>ECHO %VAR%

C:\>MYDOC

Для получения значения определенной ранее переменной (или системной переменной) нужно имя этой переменной заключить в символы %.

C:\>SET VAR=

Удаление переменной

Операции с переменными как с числами

При включенной расширенной обработке команд (этот режим в Windows XP используется по умолчанию) имеется возможность рассматривать значения переменных среды как числа и производить с ними арифметические вычисления. Для этого используется команда SET с ключом /A.

SET /A выражение

Приведём два примера. В первом примере задаётся символьное значение переменной, во втором – числовое. Сравните полученные результаты:

C:\>SET M=1

C:\>SET S= %M%+1

C:\>SET S

C:\>S=1+1

Переменной Mприсваивается значение «1»

Переменной Sприсваивается значение «%M%+1»

Вывод на экран значения переменной S

Значение переменной S- «1+1»

C:\>SET M=1

C:\>SET /A S= %M%+1

2

C:\>SET S

C:\>S=2

Переменной Mприсваивается число 1

Переменной Sприсваивается значение %M%+1, т.е. 2

Вывод на экран значения переменной S

Значение переменной S- 2

Для организации счётчика можно использовать следующую конструкцию оператора SET:

SET /A S+= 1

Ввод значений пользователем

Для этих целей служит ключ /P команды SET:

SET /P variable=prompt

Например:

SET /P SBORDANNIX=Вы хотите разослать данные на ПК или собрать информацию на сервер? [1 - собрать] [2 - разослать] :

IF %SBORDANNIX%==1 GOTO SBORKA

Приглашение prompt может быть пустым.

Преобразования переменных как строк

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

Операция конкатенации (склеивания). Для этого нужно в команде SET просто написать рядом значения соединяемых переменных. Например:

SET A=РАЗ

SET B=ДВА

SET C=%A%%B%

После выполнения в файле этих команд значением переменной C будет являться строка «РАЗДВА»

Выделять подстроки с помощью конструкции:

%имя_переменной:~n1,n2%,

где число n1 определяет смещение (количество пропускаемых символов) от начала (если n1 положительно) или от конца (если n1 отрицательно) соответствующей переменной среды, а число n2 – количество выделяемых символов (если n2 положительно) или количество последних символов в переменной, которые не войдут в выделяемую подстроку (если n2 отрицательно). Если указан только один отрицательный параметр -n, то будут извлечены последние n символов. Например:

SET DD1=%DATE:~0,2%

SET DD2=%DATE:~0,-8%

Если в переменной хранится строка "21.09.2007", то после выполнения следующих команд новые переменные будут иметь такие значения: %DD1%=21, %DD2%=21

Выполнять процедуру замены подстрок с помощью конструкции:

%имя_переменной:s1=s2%

В результате будет возвращена строка, в которой каждое вхождение подстроки s1 в соответствующей переменной среды заменено на s2. Например,

SET A=123456

SET B=%A:23=99%

После выполнения команд в переменной Bбудет храниться строка "199456"

SET A=123456

SET B=%A:23=%

Если параметр S2 не указан, то подстрокаS1 будет удалена из выводимой строки, т.е. после выполнения команды в переменнойBбудет храниться строка "1456"

Приведём наиболее распространённые примеры применения команды SET в командных файлах:

SET GROUP=MYGROUP

Присвоение переменной %group% значения «mygroup»

ECHO %GROUP%

Вывод в консоль строки «mygroup»

MD "%GROUP%"

Создание папки «mygroup»

SET DIG=42

Присвоение переменной %dig% значения «42»

REN "%GROUP%" "%DIG%"

Переименование папки «mygroup» в «42»

SET GROUP=%GROUP%%DIG%

Присвоение переменной %group% значения «mygroup42»

SET PREFIX=%GROUP:~0,2%

Присвоение переменной %prefix% значения «my»

SET REPLACED=%GROUP:42=84%

Присвоение переменной %replaced% значения «mygroup84»

SET INS=%GROUP:~0,-4%__%GROUP:~-4%

Присвоение переменной %ins% значения «mygro__up42»

SET GROUP=

Удаление переменной %group%

SET/pGROUP=Введите групу:

Вывод сообщения «Введите групу: » и сохранение введенного пользователем значения в переменную %group%

IF EXIST "%GROUP%" ECHO файл существует

Проверка существования файла с названием, которое ввел пользователь

Литература

  1. Богумирский Б.С. Руководство пользователя ПЭВМ: В 2-х ч. Ч. 1. – Санкт-Петербург. Ассоциация OILCO, 1992. – 357 с.: ил.

  2. Уильям Р. Станек Командная строка Microsoft Windows. Справочник администратора.: Пер. с англ. — М.: Иэдательско-торговый дом «Русская Редакция», 2004. — 480 с: ил.

  3. http://www.intuit.ru/department/os/compromtwin/1/ Командная строка и сценарии Windows

  4. http://windata.ru/windows-xp/faq-xp/spisok-peremennyx-sredy-v-windows/ Cписок переменных среды в Windows

  5. http://debugger.ru/articles/windatetime Преобразование текущих дат и времени

  6. http://www.prodos.narod.ru/page_all/alfavit/s_alf.htm Все команды по алфавиту

  7. http://www.osp.ru/text/print/302/13001346.html Управляем переменными среды

1Диск 1 – логический диск D

2Каталог А – КАТ

3Расширение –PCE

4Диск 2 – логический диск E

5КаталогB- КАТ2

6Файл С - Aidsvir.txt

21