Решение довольно простое:
if not "%$Value:healthy=%" == "%$Value%" echo It contains healthy
Двойные кавычки вокруг двух строковых аргументов между оператором ==
приводят к интерпретации всего между "
как буквенных символов как IF .В противном случае пробел внутри строки значения интерпретируется как разделитель аргументов.
IF включает двойные кавычки при сравнении двух строк.Это означает, что при использовании "..."
для одного аргумента, "..."
также должен использоваться для другого аргумента, так как в противном случае две сравниваемые строки никогда не будут равны.
Для получения более подробной информации о том, как IF сравнение строк или целых чисел. См. ответ на Символ, эквивалентный NEQ, LSS, GTR и т. д. в пакетных файлах Windows .
PS: $
не имеет специального значения для командного процессора Windows наиспользуется в имени переменной среды.Он интерпретируется как буквальный символ, как буква.