批处理文件:用于将整个字符串输出为带空格的单行

Batch file: FOR outputting whole string as a single line with spaces

我需要将 curl 命令的输出保存到一个变量中。唯一的问题是输出包含空格并且 for 命令将它们拆分在不同的行上(输出变量仅包含第一个字符块)。

代码:

for /F usebackq %%I in (`curl "https://api.checkwx.com/metar/cyyz?x-api-key=c6e048117df34d45871ca85e73"`) do set output=%%I
    echo %output%

输出:{"data":["CYYZ

而不是:{"data":["CYYZ 221700Z 00000KT 15SM BKN220 05/M11 A3031 RMK CI7 SLP271"],"results":1}

我做错了什么吗?

谢谢 @jeb 你的解决方案有效。

关于 @Compo's answer, I read the official Microsoft online documentation regarding the for command,但在那里找不到解决方案。 看来实际问题出在我的 .我不知道他们应该被引用并查看文档中的示例,none 是。我之前尝试过 delims=,但批处理文件只是在执行该命令时崩溃了。