CMD: передача ECHO в SET / расширение переменных в переменных
%x:~12,3%
Возвращает 3 символа, начиная с 12-го символа в переменной x. То, что я пытался сделать, это использовать переменные вместо12
а также3
, Скажемy=12
а такжеz=3
, Тогда вы не можете использовать%x:~%y%,%z%%
потому что CMD будет думать%x:~%
переменная
Что вы можете сделать, этоset var=%%x:~%y%,%z%%%
, Это расширит внутренние переменныеy
а такжеz
, но нетx
, так что значениеvar
является%x:~12,3%
, Оставшаяся задача сейчас состоит в том, чтобы наконец расширить%x:~12,3%
, Я пытался добавитьecho
в начале, так чтоvar=echo %x:~12,3%
, Если в командной строке или в командном файле вы сейчас используете%var%
, это должно выполнить команду echo и развернуть последующее выражение, но вместо этогоecho %x:~12,3%
приводит просто%x:~12,3%
вывод на экран, нерасширенный.
Я думал, что, может быть, если вы установите вар%x:~12,3%
, затем повторить его и направить вывод в другойECHO
команда илиSET
Команда, что выражение будет расширено, но кажется, чтоECHO
а такжеSET
не принимает данные, передаваемые в него вообще?
Как я могу сделать эту работу?