В качестве дополнения к уже предоставленному ответу, , где было подчеркнуто, что вы использовали пробелы по обе стороны от вашего =
символа . Это означает, что вы устанавливаете, например:
o r г = "* * р тысячу двадцать две * ** тысяча двадцать-три 1024 * о * ** 1026 одна тысяча двадцать пять * г T г * 1 031 ** +1032 * a i t ".
Если вы не удалите эти пробелы, вам потребуется Echo
: * +1044 ** *% тысяча сорок пять * +1047 * о * +1048 * г г * 1 052 * % * одна тысяча пятьдесят восемь * чтобы увидеть значение, которое вы установили, (включая двойные кавычки) .
Я бы дополнительно предложил использовать этот синтаксис:
@Echo Off
Set "logfile=results.txt"
Set "org="
Find /I "Orientation : 0" <"%logfile%" >Nul && (
Set "org=landscape"
) || (
Set "org=portrait"
)
Echo %org%
В качестве альтернативы, использование FindStr
дает вам небольшой маневр с наличием или количеством пробелов, например, следующие значения будут по-прежнему соответствовать:
Orientation:0
или
Orientation : 0
@Echo Off
Set "logfile=results.txt"
Set "org="
FindStr /IRC:"Orientation[\ :]*0" "%logfile%" >Nul && (
Set "org=landscape"
) || (
Set "org=portrait"
)
Echo %org%
Проще говоря, условные операторы &&
и ||
фактически означают, если предыдущая команда была успешной и если предыдущая команда не выполнена, соответственно .