Я делаю несколько простых настроек переменной в BAT файле. Он не устанавливает переменную. Нет никаких нечетных конструкций, это простая подстановка переменных с использованием одного и того же имени переменной. Я уменьшил файл BAT до простого доказательства версии концепции:
set TESTVAR = "No Value"
ECHO var = %TESTVAR%
set TESTVAR = ""
ECHO var = %TESTVAR%
set TESTVAR = "New value"
ECHO var = %TESTVAR%
И вывод показывает, что ни одна из команд SET, похоже, не работает. Какого черта я здесь не хватает. Я писал BAT файлы в течение многих лет, и я никогда раньше этого не видел. Здесь результат выполнения этого теста:
C:\Users\rs02130\Desktop>test
C:\Users\rs02130\Desktop>set TESTVAR = "No Value"
C:\Users\rs02130\Desktop>ECHO var =
var =
C:\Users\rs02130\Desktop>set TESTVAR = ""
C:\Users\rs02130\Desktop>ECHO var =
var =
C:\Users\rs02130\Desktop>set TESTVAR = "New value"
C:\Users\rs02130\Desktop>ECHO var =
var =
C:\Users\rs02130\Desktop>
Я ожидаю, что первая и третья команды ECHO будут отображать значения "Нет значения" и "Новое значение". Что происходит?