将命令输出分配给批处理文件中的变量

use*_*234 38 registry variables flash cmd batch-file

我正在尝试将命令的输出分配给变量 - 例如,我正在尝试将当前的flash版本设置为变量.我知道这是错的,但这是我试过的:

set var = reg query hklm\SOFTWARE\Macromedia\FlashPlayer\CurrentVersion>

要么

reg query hklm\SOFTWARE\Macromedia\FlashPlayer\CurrentVersion >> set var

是的,你可以看到我有点失落.任何和所有的帮助表示赞赏!

BDM*_*BDM 83

已经设计了一种方法,但是这样您就不需要临时文件了.

for /f "delims=" %%i in ('command') do set output=%%i
Run Code Online (Sandbox Code Playgroud)

但是,我确信这有其自身的例外和限制.

  • @JoelHandwell如果你在命令行中使用它,你应该只使用一个%.例如:`for/f"delims ="%i in('command')do set output =%i` (8认同)
  • 使用`^`:`command1 ^ |转义管道或`&` command2` (6认同)
  • 如果它解决了您的问题,请将其标记为已接受. (3认同)
  • 在批处理文件中使用该语句,如果`command`有一个管道(|),则它出错:"|此时是意外的." 有人可以帮助解决这个问题吗? (3认同)
  • 当我执行上述命令时,我得到`%%我此时意外.不知道为什么. (2认同)

Ian*_*ney 9

这篇文章有一个方法来实现这一目标

from(zvrba)您可以通过首先将输出重定向到文件来完成.例如:

echo zz > bla.txt
set /p VV=<bla.txt
echo %VV%
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

97492 次

最近记录:

6 年,4 月 前