У меня есть небольшая проблема в моем коде,
если яКак решить этот пакетный глюк?
set ghot=1
и
set fo1=text
и попробовать вторя
echo %fo%ghot%%
, как это, он приходит как
%fo1%
вместо текста
У меня есть небольшая проблема в моем коде,
если яКак решить этот пакетный глюк?
set ghot=1
и
set fo1=text
и попробовать вторя
echo %fo%ghot%%
, как это, он приходит как
%fo1%
вместо текста
Я неправильно понял, о чем вы спрашивали вначале. Добавление вызова к линии даст вам поведение, которое вы хотите.
call echo %%fo%ghot%%%
Edited добавить дополнительный замыкающий% 's Он работает без них из командной строки, но не из пакетного файла.
Вы должны затем двойные внешние знаки процента. – LotPings
Альтернативный метод с использованием отсроченного расширения:
@Echo Off
SetLocal EnableDelayedExpansion
Set "ghot=1"
Set "fo1=text"
Echo=!fo%ghot%!
Timeout -1
FYI люди, как правило, в большей степени готовы помочь, если вы форматируете свой пост правильно и писать, как взрослые. – jonrsharpe
'echo! Fo% ghot%!' С включенным расширенным расширением. «Стандартный способ» для написания этого _array element_ - это 'set fo [1] = text' и' echo! Fo [% ghot%]! '. См. [Этот пост] (http://stackoverflow.com/questions/10166386/arrays-linked-lists-and-other-data-structures-in-cmd-exe-batch-script/10167990#10167990) – Aacini