Составители:
13
тавляет встроенные средства поддержки подобных операций в команде 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. На- пример, следующая команда: 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%. Зачастую информация, подлежащая хранению и обработке, должна быть представлена в числовом виде. Например, если потребуется подсчитать суммар- 13
Страницы
- « первая
- ‹ предыдущая
- …
- 11
- 12
- 13
- 14
- 15
- …
- следующая ›
- последняя »