Как использовать переменную среды для длины в подстановке строки переменной? - PullRequest
0 голосов
/ 20 мая 2018

У меня есть следующий код:

set name=James
echo %name:~0,4%

И он отображает первые 4 буквы переменной: Jame.
Но я хотел бы вставить переменную для количества буквотображается, который я могу изменить с помощью set.Примерно так:

set num=3
set name=James
echo %name:~0,%num%%

В результате должны отображаться первые num символов строкового значения переменной name.

Есть ли какой-нибудь метод для получения желаемого результата?

1 Ответ

0 голосов
/ 20 мая 2018

Вы можете добавить слой % вокруг оператора echo и call echo it.

@echo off
set num=3
set name=James
call echo %%name:~0,%num%%%

, или вы можете просто enabledelayedexpansion

@echo off
setlocal enabledelayedexpansion
set num=3
set name=James
echo !name:~0,%num%!

.Справка по delayedexpansion просто запустите setlocal /? из командной строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...