【问题标题】:Outputting Batch Command to Variable将批处理命令输出到变量
【发布时间】:2017-06-01 12:40:51
【问题描述】:

我在批处理脚本方面没有很强的背景,如果有明显的答案,请道歉。

我正在尝试将命令提示符的输出定向到变量。我可以将它输出到这样的文件中

go test -race > output.txt

在这种情况下,output.txt 会填充 go test -race 的输出。我想要做的是将它输出到一个变量,类似于

set iamavariable=nothotdog
go test -race > %iamavariable%
echo %location%

这将创建一个名为 nothotdog 的文件,该文件具有 go test -race 的输出,并回显 nothotdog,而不是回显 go test -race 的输出

【问题讨论】:

  • 你为什么echo %location%?这在我看来是无稽之谈。
  • 抱歉,复制粘贴错误

标签: batch-file cmd


【解决方案1】:

要正确获取命令的结果,您需要一个for 循环。

for /f %%p in ('your command') do set result=%%p
echo %result%

如果命令输出的不仅仅是一个单词/数字/字符/数字,那么这可能会更好:

For /F "Delims=" %%A In ('go test -race') Do Set "result=%%A"
Echo %result%

【讨论】:

  • 如果命令输出的不仅仅是一个单词/数字/字符/数字,那么这可能会更好:For /F "Delims=" %%A In ('go test -race') Do Set "location=%%A"
猜你喜欢
  • 2015-09-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-18
  • 1970-01-01
  • 2017-02-01
  • 2011-09-15
相关资源
最近更新 更多