
- •Краткие теоретические сведения
- •Вывод сообщений
- •Работа с переменными среды
- •Получение значения переменной
- •Преобразования переменных как строк
- •Операции с переменными как с числами
- •Приостановка выполнения командных файлов
- •Вызов внешних командных файлов
- •Операторы перехода
- •Операторы условия
- •Организация циклов
- •Копирование, удаление, переименование
- •Пример калькулятора в виде bat файла
- •Задание
- •Приложение а - Переменные среды
Пример калькулятора в виде bat файла
@ echo off
:begin
Cls
Title Calc
Echo Input expression:
Set /P exp=
Set /A result=%exp%
Title Result
Echo Expression: %exp%
Echo Solution: %result%
Pause>nul
goto begin
Задание
После ознакомления с командами и приведенными в методических указаниях примерами написать batch файл или несколько файлов, позволяющий:
Выводить на экран сообщение, передаваемое в качестве параметра, при запуске файла;
Выводить несколько системных переменных на экран (см. приложение А);
Складывать, вычитать, делить значения, задаваемые как параметры;
После паузы выводить на экран сообщение;
Проверять передаваемые параметры. Например, если введенное значение равно 1 выводить сообщение «1», если не равно «не 1».
Приложение а - Переменные среды
Название |
Тип |
Описание |
APPDATA |
системная |
Возвращает используемое по умолчанию размещение данных приложений. В Windows XP это C:\Documents and Settings\%UserName%\Application Data. В Windows 7 C:\Users\%UserName%\AppData\Roaming |
CD |
локальная |
Указывает путь текущей папки. Идентична команде CD без аргументов. |
COMPUTERNAME |
системная |
имя компьютера |
COMSPEC |
системная |
путь до исполняемого файла shell |
DATE |
системная |
Возвращает текущую дату. Использует тот же формат, что и команда date /t. Создается командой Cmd.exe. |
ERRORLEVEL |
системная |
Возвращает код ошибки последней использовавшейся команды. Значение, не равное нулю, обычно указывает на наличие ошибки. |
LOGONSERVER |
локальная |
имя контроллера домена, использовавшегося для авторизации текущего пользователя |
OS |
системная |
название операционной системы. Windows XP и Windows 2000 отображаются как Windows_NT. |
PATH |
системная |
Указывает путь поиска для исполняемых файлов. |
PROCESSOR_LEVEL |
системная |
номер модели процессора |
PROGRAMFILES |
системная |
путь к папке Program Files |
PROGRAMFILES(x86) |
системная |
путь к папке Program Files (x86) в x64 системах, для приложений архитектуры x86 |
RANDOM |
системная |
случайное десятичное число от 0 до 32767. Генерируется Cmd.exe |
TEMP or TMP |
системная и локальная |
Возвращает временные папки, по умолчанию используемые приложениями, которые доступны пользователям, выполнившим вход в систему. Некоторые приложения требуют переменную TEMP, другие — переменную TMP. Потенциально TEMP и TMP могут указывать на разные каталоги, но обычно - совпадают. |
TIME |
системная |
Возвращает текущее время. Использует тот же формат, что и команда time /t. Создается командой Cmd.exe. Дополнительные сведения о команде time см. в разделе Time. |
USERDOMAIN |
локальная |
имя домена, которому принадлежит текущий пользователь |
USERNAME |
локальная |
имя текущего пользователя |
WINDIR |
системная |
директория в которую установлена Windows |
Приложение Б - PowerShell
Windows PowerShell — расширяемое средство автоматизации от Microsoft, состоящее из оболочки с интерфейсом командной строки и сопутствующего языка сценариев. Впервые публично язык был продемонстрирован на PDC (Professional Developers Conference) в сентябре 2003 г. под кодовым названием «Monad». Версия 1.0 выпущена в 2006 году и сейчас доступна для Windows XP SP2/SP3, Windows Server 2003, Windows Vista, и встроена в Windows Server 2008 как опциональный компонент.
Windows PowerShell 2.0 был выпущен в составе Windows 7 и Windows Server 2008 R2 как неотъемлемый компонент системы. Кроме того, вторая версия доступна и для других систем, таких как Windows XP SP3, Windows Server 2003 SP2, Windows Vista SP1 и Windows Server 2008.
Windows PowerShell построен на базе Microsoft .NET Framework и интегрирован с ним. Дополнительно PowerShell предоставляет удобный доступ к COM, WMI и ADSI, равно как и позволяет выполнять обычные утилиты командной строки, чтобы создать единое окружение, в котором администраторы смогли бы выполнять различные задачи на локальных и удалённых системах.
Эти административные задачи обычно выполняются с помощью командлетов (в оригинале «cmdlets», произносится как «commandlets»), которые являются специализированными классами .Net. Пользователь может комбинировать их в скриптах (сценариях), используя различные конструкции, утилиты командной строки и обращения к обычным классам .NET (или WMI/COM объектам). Кроме того, можно использовать различные хранилища данных, такие как файловая система или реестр, которые предоставляются PowerShell’у посредством «поставщиков» (в оригинале providers).
Windows PowerShell также предоставляет механизм встраивания, благодаря которому исполняемые компоненты PowerShell могут быть встроены в другие приложения. Эти приложения затем могут использовать функциональность PowerShell для реализации различных операций, включая предоставляемые через графический интерфейс. Этот подход применен в Microsoft Exchange Server 2007 для реализации управляющей функциональности в виде командлетов PowerShell и графических утилит управления в виде оболочек PowerShell, которые вызывают необходимые командлеты. Таким образом, графический интерфейс управления находится поверх промежуточного слоя — PowerShell. Другие приложения Microsoft, включая Microsoft SQL Server 2008, System Center Operations Manager и System Center Data Protection Manager также предоставляют доступ к своим интерфейсам управления через командлеты PowerShell. В будущем все серверные приложения Microsoft на платформе Windows будут использовать PowerShell тем или иным образом.
Windows PowerShell включает свою собственную расширяемую справку, доступную (в т.ч. из командной строки) через командлет Get-Help.