![]() Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву ![]() Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Rem Выведет строку FileName echo FileNameСодержание книги Поиск на нашем сайте
rem Выведет значение переменной FileName - tmp.dat echo %filename%
Чтобы удалить переменную среды, команду set необходимо вызвать в виде: set имя_переменной=
Например:
rem удаляем переменную среды FileName set FileName=
Если имя переменной не найдено в текущей среде, то при возврате команда set имя_переменной установит значение специальной переменной среды errorlevel равным1.Это свойство можно использовать в командных файлах дляопределения наличия определенной переменной. Из последнего примера видно, что имена переменных для Cmd.exe регистронезависимы.
Значение некоторых полезных на практике переменных среды по команде set не выдаются. В основном, это переменные, принимаемые значения которых динами-чески изменяются, их перечень приведен в таблице 5:
В связи с тем, что переменные среды хранят преимущественно строковую информацию, для работы с подобными переменными характерны специфичные операции поиска, замены, удаления подстрок. Командный интерпретатор предос-
тавляет встроенные средства поддержки подобных операций в команде set. На-пример, следующая команда:
set переменная1=%переменная2:строка1=строка2%
присвоит переменной1 измененное значение переменной2. Команда найдет в пе-ременной2 все вхождения строки1,заменит их на содержимое строки2 и преоб-разованное таким образом значение переменной2 будет присвоено переменной1. Рассмотрим пример
@echo off
set s1=one two three one two three set s2=%s1:one=four%
set s3=%s1:two=% echo %s2%
echo %s3%
В результате получим на экране
Four two three four two three one three one three
Если значение строки должно формироваться как конкатенация (объеди-нение) двух и более других строк, то их достаточно записать последовательно друг за другом:
@echo off set s1=one set s2=two
set s3=%s1% %s2% echo %s3%
В результате получим на экране
One two
Еще одна интересная возможность – копирование подстроки. Для этого команду set необходимо вызывать в виде:
set переменная1=%переменная2: ~m,n%
Эта команда возьмет значение второй указанной переменной (переменная2), вырежет из него подстроку длиной n символов начиная с (m+1)-гo и запишет ре-зультат в первую переменную (переменная1). @echo off
set d=12.12.2012 set month=%d:~3,2% set year=%d:~6,4% set hour=%time:~0,2% echo %month%
echo %year% echo %hour%
Значением переменной month будет значение месяца, а year - года из даты, хранящейся в переменной d в формате dd.mm.yyyy. Значение переменной hour выделяем из переменной окружения %time%.
Зачастую информация, подлежащая хранению и обработке, должна быть представлена в числовом виде. Например, если потребуется подсчитать суммар-
ный размер, занимаемый файлами в папке, или для подсчета количества запущен-ных процессов. В этом случае команду set необходимо использовать с ключом /A.
set /А переменная=выражение
Использование ключа /A означает, что стоящая справа от знака равенства строка является числовым выражением, значение которого необходимо вычис-лить. Численные значения для команды set — это десятичные числа, кроме чисел с префиксами 0x для шестнадцатеричных чисел и 0 для восьмеричных чисел. Та-ким образом число 20 можно представить как 0x14 и 024.
Например, если задать команду
SET /А Sum=5+6
то значение переменной Sum будет равно одиннадцати.
Все операторы, поддерживаемые командой set, приведены в таблице 6. Строки таблицы отсортированы в порядке убывания приоритета.
Таблица 6. Операторы, поддерживаемые при арифметических вычислени-ях командой set.
В связи с тем, что такие знаки как % >> << & | функционально ”перегру-жены” (используются для обозначения нескольких операций в разных контекстах использования), то при их использовании необходимо заключить строку выраже-ния в кавычки.
Если в выражении встречается строка, не являющаяся числовой лексемой, то оно будет интерпретирована как имя переменной среды, команда set преобра-зует ее значение в числовую форму и использует в выражении для формирования результата. Если в выражении используется переменная с именем, не определен-ным в текущем сеансе командной строки или это значение не может быть преоб-разовано в числовую форму, то вместо нее подставляется нулевое значение. Это позволяет использовать переменные среды в арифметических выражениях без об-рамления их имен знаками %. Следующий пример иллюстрирует выполнения арифметических операций с переменными среды.
@echo off set a=5 set b=25
set /a c=b/a+tmpVar set c
В результате выполнения новой переменной среды c будет присвоено зна-чение 5, и на экран будет выведено ее значение (а также всех переменных среды,
начинающихся с символа с). Переменная tmpVar не была определена, поэтому ее значение при вычислении значения выражения будет принято за 0.
Значение переменной можно задать и как результат работы команды. Так можно получить серийный номер тома текущего диска:
@echo off
vol | find “:” >out.tmp set /p var= <out.tmp set serial=%var:~22,9% del out.tmp
echo %serial%
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-08-16; просмотров: 351; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.133.130.105 (0.01 с.) |