将批处理命令输出到变量
问题描述:
我在批处理脚本中没有很强的背景,所以如果有明显的答案,请致歉。将批处理命令输出到变量
我想将命令提示符的输出指向一个变量。我可以将它输出到这样的文件中
go test -race > output.txt
在这种情况下,output.txt会使用go test -race的输出填充。我所试图做的是它输出给一个变量,一些沿
set iamavariable=nothotdog
go test -race > %iamavariable%
echo %location%
线这将创建一个名为nothotdog有不合格测试的-RACE输出文件,并呼应,而不是呼应输出nothotdog,去测试-race
答
要正确得到命令的结果,您需要一个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%
+3
如果命令输出多个单词/数字/字符/数字,那么也许这会更好:'For/F“Delims =”%% A In -race')Do设置“location = %% A”' – Compo
你为什么'回声%位置%'?这对我来说是无稽之谈。 – SteveFest
对不起,这是一个复制和粘贴错误 – manrilla