Подстрока DOS, где длина является переменной - PullRequest
3 голосов
/ 14 октября 2011

Я пытаюсь извлечь подстроку из переменной в пакетном скрипте DOS. Насколько я понимаю, это делается с помощью следующего утверждения:

set substring=%original_string:~2,3%  

Где 2 будет смещением, начинающимся с нуля, а 3 будет длиной извлекаемой подстроки. Пока все хорошо, верно?

Но мне нужно, чтобы моя длина была переменной, а не явным числом. Я почти уверен, что это можно сделать, но правильный синтаксис ускользает от меня: - (

То, что я пробовал, это ...

set string=string

set length=3

set substring=%string:~0,%length%%

echo substring is: %substring%

Что я получаю ...

substring is: length%

Я пытался удалить 1 набор знаков процента, но ... ничего хорошего.

Кто-нибудь знает, если и как я могу делать то, что я хочу ???

ТНХ!

1 Ответ

1 голос
/ 18 января 2012

Измените это на:

call set substring=%%string:~0,%length%%%
...