В UNIX можно ли присвоить вывод сценария к переменной среды с помощью техники, объясненной здесь - но что Windows эквивалентен?
У меня есть утилита Python, которая предназначается для исправления переменной среды. Этот сценарий просто пишет последовательность символов к stdout. В целях этого вопроса то, что моя утилита записана в Python, не важно, это - просто программа, которую я могу назвать от командной строки, которая производит одну строку текста.
Я хотел бы сделать что-то вроде этого (который работает):
set WORKSPACE=[ the output of my_util.py ]
После выполнения этой команды значение переменной среды РАБОЧЕЙ ОБЛАСТИ должно содержать тот же самый текст, который обычно распечатывала бы моя утилита.
Это может быть сделано? Как?
UPDATE1: Кто-то на предложенной работе:
python util.py | set /P WORKSPACE=
В теории, которая присвоила бы stdout сценария Python, превышают РАБОЧУЮ ОБЛАСТЬ огибающего var, и все же это не работает, что идет не так, как надо здесь?
Использование:
for /f "delims=" %A in ('<insert command here>') do @set <variable name>=%A
Например:
for /f "delims=" %A in ('time /t') do @set my_env_var=%A
...выполнит команду "time /t" и установит переменную env "my_env_var" в результат.
Не забудьте использовать %%A вместо %A, если вы запускаете эту команду внутри файла .BAT.