Поделиться через


${ } (интерпретатор псевдонимов)

Знак доллара, за которым следует пара скобок ( ${ } ), вычисляет различные значения, связанные с указанным псевдонимом пользователя.

Text ${Alias} Text 
Text ${/d:Alias} Text 
Text ${/f:Alias} Text 
Text ${/n:Alias} Text 
Text ${/v:Alias} Text 

Параметры

Псевдоним

Указывает имя псевдонима для расширения или вычисления. Псевдоним должен быть псевдонимом пользователя или значением переменной , используемым маркером FOREACH .

/d

Возвращает значение 1 или ноль в зависимости от того, определен ли псевдоним в данный момент. Если псевдоним определен, ${/d:Alias} заменяется на 1; если псевдоним не определен, ${/d:Alias} заменяется 0.

/f

Вычисляет эквивалент псевдонима, если псевдоним определен в данный момент. Если псевдоним определен, ${/f:Alias} заменяется эквивалентным псевдонимом; если псевдоним не определен, ${/f:Alias} заменяется пустой строкой.

/N

Вычисляет имя псевдонима, если псевдоним определен в данный момент. Если псевдоним определен, ${/n:Alias} заменяется именем псевдонима; если псевдоним не определен, не заменяется, ${/n:Alias} но сохраняет литеральное значение ${/n:Alias}.

/v

Запрещает вычисление псевдонимов. Независимо от того, определен ли псевдоним , ${/v:Alias} всегда сохраняет литеральное значение ${/v:Alias}.

Дополнительные сведения

Описание использования псевдонимов см. в разделе Использование псевдонимов.

Комментарии

Если параметры не используются и псевдоним определен в данный момент, ${Alias} заменяется эквивалентным псевдонимом. Если параметры не используются и псевдоним не определен, ${Alias} всегда сохраняет литеральное значение ${Alias}.

Одним из преимуществ использования токена ${ } является то, что псевдоним будет оцениваться, даже если он находится рядом с другими символами. Без этого маркера отладчик заменяет только псевдонимы, которые отделены от других маркеров пробелом.

Как указано, существуют обстоятельства, когда токен ${ } не заменяется ничем, но сохраняет свое литеральное значение. Это происходит, если параметр не используется, а псевдоним не определен, если используется параметр /n и псевдоним не определен, и всегда при использовании параметра /v. В таких случаях маркер сохраняет свое литеральное значение, включая знак доллара и фигурные скобки. Таким образом, если этот параметр используется в качестве параметра команды, возникает синтаксическая ошибка, если этот параметр не принимает произвольные текстовые строки.

Однако есть одно исключение из этого. Если вы используете ${/v:Alias} в качестве первого параметра для команды как (Задать псевдоним) или aS (Задать псевдоним), этот маркер будет рассматриваться только как псевдоним строки, а не как строка ${/v:Alias}. Это работает только с командами as, aS и ad и работает только при использовании параметра /v— он не будет работать с ${/n:Alias} или ${Alias} при сохранении литеральных значений.

Псевдоним должен быть псевдонимом пользователя или значением переменной , используемым маркером foreach , а не псевдонимом с фиксированным именем. Если в строке Alias есть псевдоним с фиксированным именем, он будет заменен до вычисления токена ${ }.