批处理文件:将输出函数调用存储在var中

时间:2018-10-14 09:21:50

标签: batch-file variables call

这似乎并不难,但是似乎无法将函数调用的输出填充到变量中。

SET info=
call git log -6
REM echo %info%
echo { "timestamp": "%time% %date%", "info": "%info%" } >> ".\src\assets\build-info.json"

有些或指向正确方向的指针将受到赞赏。

1 个答案:

答案 0 :(得分:1)

我建议您的命令输出更多easily parseable的输出,并将其发送到文件。

然后您可以使用for /f逐行读取文件(甚至标记行)为变量,然后将变量写入文件。

例如:

git log --format="%aI | %an | %s" > git.log
(for /f "delims=| tokens=1-3" %a in (git.log) do @echo {"timestamp":"%a", "info":"%c"}) > git.log.json