是否可以在cmd.exe中将环境变量设置为命令的输出

Pet*_*ham 8 shell cmd backticks

我需要做相同的事情

set ENVAR=`some-command`
Run Code Online (Sandbox Code Playgroud)

在windows/cmd.exe脚本中.Cygwin不是一个选择.

对于奖励标记:一般来说是否有一些cmd.exe等效的反引号?

mhd*_*mhd 8

一种快速而肮脏的方式是将其重定向到文件然后读取它,例如

some-command>out.txt
set /p ENVAR=<out.txt
Run Code Online (Sandbox Code Playgroud)

我想for也可以帮到你,但我不记得确切的语法.尝试类似的东西

for /f "usebackq" %x in (`some-command`) do set ENVAR=%x
Run Code Online (Sandbox Code Playgroud)

我可能忘了一些tokendelim在选项中......