У меня есть несколько команд, использующих системную переменную, и они представляют собой однострочные команды, например:
set test="blah" && echo %test%
Однако я заметил, что переменная команды set не "установлена" для команд в той же строке. Если я снова запущу вторую команду, она сможет прочитать обновленную переменную. Я могу использовать как &, так и &&, и эффект будет одинаковым. Такое поведение происходит как с пакетными файлами, так и при простом вводе в командную строку.
Как мне получить set
команду, которая повлияет на операторы, следующие за &
или &&
?
решение1
Это связано с тем, что вся командная строка оценивается сразу, поэтому переменная test
разрешается до запуска set
команды.
Простым решением может стать размещение команд в отдельных строках пакетного файла и его запуск.