Раздел 3 КОМАНДЫ ОПЕРАЦИОННОЙ СИСТЕМЫ WINDOWS
Интерпретатор командной строки ОС MS Windows XP
1. КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ
Язык интерпретатора Cmd.exe. Командные файлы
Язык оболочки командной строки в ОС служит для написания командных файлов (КФ). Командный файл (или сценарий) в Windows — это текстовый файл с расширением cmd или bat, в котором записаны внешние и внутренние команды ОС, а также некоторые дополнительные команды. Исполнение КФ приводит к тому же результату, что и последовательный ввод записанных в нем команд. При выполнении одинаковых действий использование КФ может сэкономить время.
Управление последовательностью выполнения команд КФ осуществляют операторы IF, FOR, CALL и GOTO, выполнение которых аналогично работе одноименных операторов языков программирования. Для отключения дублирования выполняемых команд в начале КФ записывается команда @ECHO OFF. В приводимых ниже примерах КФ для уменьшения объема данная команда опущена.
Параметры командной строки. Команда shift
При запуске КФ в командной строке можно указывать произвольное число параметров, значения которых можно использовать внутри файла. Это позволяет, например, применять один и тот же КФ для выполнения команд с различными исходными данными.
Для доступа из КФ к параметрам командной строки применяются переменные %0, %1, …, %9 или %*. Значением переменной %0 является имя выполняемого КФ, переменные %1, %2, …, %9 — значения первых девяти параметров командной строки соответственно, а переменная %* — все аргументы. Если в командной строке при вызове КФ задано меньше девяти параметров, то оставшиеся переменные из %1 – %9 замещаются пустыми строками.
|
|
Пример 1. Пусть имеется КФ cop.bat:
ECHO Файл %0 копирует каталог %1 в %2
XCOPY %1 %2 /S
Если запустить его из командной строки с двумя параметрами, например,
cop.bat C:\Programs D:\Backup, на экран будет выведется сообщение
Файл cop.bat копирует каталог C:\Programs в D:\Backup
и произойдет копирование каталога C:\Programs со всеми его подкаталогами в D:\Backup.
При необходимости можно использовать более девяти параметров командной строки. Это достигается с помощью команды SHIFT (сдвиг влево), которая изменяет значения замещаемых параметров с %0 по %9, копируя каждый параметр в предыдущий, то есть значение %1 копируется в %0, значение %2 – в %1 и т.д. Замещаемому параметру %9 присваивается значение параметра, следующего в командной строке за старым значением %9. Если же такой параметр не задан, то новым значением %9 будет пустая строка.
Пример 2. Пусть КФ my.bat вызван из командной строки следующим образом:
my.bat p1 p2 p3
Тогда %0=my.bat, %1=p1, %2=p2, %3=p3, параметры %4 – %9 являются пустыми строками. После выполнения команды SHIFT значения замещаемых параметров изменятся следующим образом: %0=p1, %1=p2, %2=p3, параметры %3 – %9 – пустые строки.
|
|
Выполнить обратный сдвиг невозможно - нельзя восстановить параметр (%0), который был первым перед сдвигом.
Функции анализа имен файлов
В КФ предусмотрены функции анализа имен файлов и выделения свойств файла. Для параметра КФ с номером n (%n), задающего имя файла, допустимы функции, представленные в табл. 1.
Таблица 1. Функции анализа имен файлов | ||||||||||||
|
Данные функции можно объединять друг с другом, например:
%~NXn — из переменной %n выделяются имя файла и расширение.
Пример 3. В каталоге C:\TEXT запущен КФ с параметром test.doc (%1=test.doc). Размер файла 5150 байт, дата создания 12.12.2011, время 18:57. Тогда применение функций, описанных в табл. 1, к параметру %1 даст следующие результаты:
%~F1=C:\TEXT\test.doc
%~N1=test
%~X1=.doc
%~NX1=test.doc
%~T1=12.12.2011 18:57
%~Z1=5150
Переменные среды. Оператор присваивания SET. Получение значений переменных
|
|
Внутри КФ можно использовать так называемые переменными среды (или переменные окружения), каждая из которых хранится в оперативной памяти, имеет свое уникальное имя, а ее значением является строка. Стандартные переменные среды автоматически инициализируются в процессе загрузки операционной системы. К таким переменным относятся:
WINDIR, которая определяет расположение каталога Windows,
TEMP, которая определяет путь к каталогу для хранения временных файлов Windows
PATH, в которой хранится системный путь (путь поиска), то есть список каталогов, в которых система должна искать выполняемые файлы или файлы совместного доступа.
В КФ с помощью команды присваивания значений SET можно объявлять собственные переменные среды и изменять их значения.
Для получения значения определенной переменной среды нужно заключить имя этой переменной в символы %. Например:
:: new variable NewVar
SET NewVar=new variable
ECHO value of NewVar: %NewVar%
ECHO value of WinDir: %WinDir%
При запуске такого КФ на экран выведутся две строки:
value of NewVar: new variable
value of WinDir: C:\WINDOWS
Дата добавления: 2018-08-06; просмотров: 262; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!