[Исходное название: Почему строчные значения в переменной% пакета% возвращаются в верхнем регистре?]
Состояние
У меня есть пакетный файл, в котором значение для переменной объявлено следующим образом:
SET myVar="something.lowercase"
Но позже в сценарии, когда вы ссылаетесь на эту переменную как таковую:
%myVar%
значение приходит как SOMETHING.LOWERCASE
, что приводит к неправильной работе конкретной команды. ( см. Разрешение: проблема была ложной "
в команде, а прописными буквами было то, как сообщалось о "сбое" )
Концерн
Почему и при какой ситуации это происходит? moot , так как значение не изменяется, а скорее как сообщение о сбое и сбой произошли из-за "
вводится в переданное значение ( см. разрешение )
Контекст
Для контекста, в случае, если это имеет значение , он вызывается следующим образом: ( оказалось, что значение, поскольку введенный "
вызывал сбой проверки, и путаница была исходя из "не могу найти ..." в верхнем регистре )
TASKLIST /FI "IMAGENAME eq %myVar%" 2>NUL | FIND /I /N "%myVar%">NUL
Я подозреваю, что это как-то происходит в контексте этой команды, но не могу быть уверен и не знаю почему. Если это случайно, как я могу смягчить это? ( см. Разрешение )
Заранее спасибо.
Разрешение
Благодаря предложению @ Campo изменение значения путем удаления "
решило проблему, и скрипт теперь работает правильно. Спасибо.