批处理文件:用于将整个字符串输出为带空格的单行
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=
,但批处理文件只是在执行该命令时崩溃了。
我需要将 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=
,但批处理文件只是在执行该命令时崩溃了。