Сергей Ермаков
Сергей Ермаков

Как вставить переменную в строку в командном файле?

Леплю рассылку файлов на blat'е. Всё работает, кроме одного, не могу собрать шапку заголовка письма из статичного текста и имени файла. Вопрос в том, как конкатенировать в одну переменную статичный текст и другую переменную?

Александр
Александр

Это должно помочь с твоей проблемой; ) ************* В связи с тем, что переменные среды хранят преимущественно строковую
информацию, для работы с подобными переменными характерны специфичные
операции поиска, замены, удаления подстрок. Командный интерпретатор предос-
тавляет встроенные средства поддержки подобных операций в команде 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).

Похожие вопросы
как открыть командную строку
командная строка и телнет
Как в командной строке создать командный файл ?
Как в командной строке скопировать файлы ?
Как вставить в определенную папку текстовый документ через командную строку
Как создать текстовый файл в определенной папке через командную строку
как соединить два ехе файла в один? Хотя бы командной строкой
какая команда создает файл в командной строке MS DOS?
Перетаскивание файлов в командную строку!
Как скопировать один файл данного расширения с помощью командной строки?