Windows-10 bat 脚本使用单个 echo 命令将多行字符串写入文件

问题描述 投票:0回答:1

我有一个 bat 脚本,它接收带有 JSON 字符串的参数,如下所示(简化示例):

[{a:123,b,456} ,
 {a:111,b:222} ,
 ...
 {a:999,b:888}
]

我想将此字符串回显到文件中,同时保持多行结构。不幸的是,到目前为止,广泛的谷歌搜索并没有帮助。

我应该补充一点,由于字符串可能包含数百个这样的行,所以使用

echo >...echo >>...echo >> 
是不可能的。

windows batch-file cmd
1个回答
0
投票

嗯...我怀疑你有一个在参数中接收多行字符串的bat脚本...(代码在哪里?)

但是,如果您可以将这样的多行字符串分配给变量,则可以使用单个

echo
命令来显示它:

@echo off
setlocal EnableDelayedExpansion

set ^"multiLine=[{a:123,b,456} ,^

 {a:111,b:222} ,^

 {a:555,b:555} ,^

 {a:999,b:888}^

]^"

echo Standard expansion, don't works:
echo %multiLine%

echo/
echo Delayed expansion, DO work^^!:
echo !multiLine!

echo/
echo You can also process the lines with a FOR / command:
for /F "delims=" %%a in ("!multiLine!") do echo %%a
© www.soinside.com 2019 - 2024. All rights reserved.