ECHO time

Общий подход.

Командные файлы – это текстовые файлы с расширением batили cmd, строки которых представляют собой команды или имена исполняемых файлов. Когда вы запускаете на выполнение командный файл, то управление получает командный процессор операционной системы (часто называемый интерпретатором команд), который последовательно считывает и интерпретирует строки командного файла. Для Windows9X этим занимается command.com, для WinNT/2K/XP – cmd.exe. Строки командных файлов могут содержать команды самого процессора команд (FOR, GOTO, IF и т.п.) или имена исполняемых модулей (net.exe, regedit.exe, win.com и т.п.). В операционных системах WinNT/2K/XP можно получить краткую справку по составу команд с помощью командной строки:

HELP

или по конкретной команде:

HELP Имя команды

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

< -перенаправление ввода

>- перенаправление вывода (или > > - перенаправление в существующий файл, когда выводимые данные дописываются в конец файла.)

Для вывода потока данных команды HELP в файл help.txt командная строка будет следующей:

HELP > help.txt

Для вывода справки по команде GOTO в файл goto.txt:

HELP GOTO > goto.txt

Использование переменных окружения.

В командных файлах можно, а зачастую, и нужно использовать переменные окружения – переменные, значения которых характеризуют среду, в которой выполняется команда или пакетный файл. Значения переменных окружения формируются при загрузке ОС и регистрации пользователя в системе, а также могут быть заданы с помощью команды SET , формат которой:

SET [переменная=[строка]]

переменная Имя переменной среды.

строкаСтрока символов, присваиваемая указанной переменной.

Например, командная строка

SET mynane=Vasya

добавит переменную myname, принимающую значение Vasya.

Можно получить значение переменной в программах и командных файлах, используя ее имя, заключенное в знаки процента (%). Например команда

ECHO time

выведет на экран слово time, а команда

ECHO %time%

выведет на экран значение переменной time, принимающей значение текущего времени.

А командная строка

SET PATH=C:\myprog;%path%

добавит в путь поиска исполняемых программ, описываемый значением переменной PATH каталог C:\myprog

Выполнение команды SET без параметров вызывают выдачу текущих значений переменных на экран, в виде:

NUMBER_OF_PROCESSORS=1 - количество процессоров

OS=Windows_NT- тип ОС

Path=E:\WINDOWS\system32;E:\WINDOWS;E:\Program Files\Far - путь поиска исполняемых файлов.

PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH - расширения для исполняемых файлов.

PROCESSOR_ARCHITECTURE=x86 - архитектура процессора.

PROCESSOR_IDENTIFIER=x86 Family 6 Model 8 Stepping 1, AuthenticAMD - идентификатор процессора.

PROCESSOR_LEVEL=6 - уровень (номер модели) процессора.

PROCESSOR_REVISION=0801 - версия процессора.

<дентификатор процессора.

PROCESSOR_LEVEL=6 - уровень (номер модели) процессора.

PROCESSOR_REVISION=0801 - версия процессора.

ProgramFiles=E:\Program Files - путь к папке "Program Files"

PROMPT=$P$G - формат приглашения командной строки $P - путь для текущего каталога $G - знак ">".

SystemDrive=E: - буква системного диска.

SystemRoot=E:\WINDOWS - каталог ОС Windows.

Значение некоторых переменных по команде SET не выдаются. Это переменные, значения которых динамически изменяются :

%CD% - Принимает значение строки текущей директории.

%DATE% - Принимает значение текущей даты.

%TIME% - Принимает значение текущего времени.

%RANDOM% - Принимает значение случайного десятичного числа в диапазоне 1 -32767.

%ERRORLEVEL% - Принимает текущее значение кода завершения задачи ERRORLEVEL

%CMDEXTVERSION% - Принимает значение версии командного процессора CMD.EXE для расширенной обработки команд.

%CMDCMDLINE% - Принимает значение строки, которая вызвала командный процессор.

Для просмотра значения переменной можно использовать командную строку:

ECHO %переменная%