如何在批处理中没有新行的情况下将双引号回显到文件中?

Edw*_*rek 2 cmd batch-file echo

我想"在文件中使用 Batch编写符号。

echo| set /p=""" >> abc.txt
Run Code Online (Sandbox Code Playgroud)

这不能按预期工作,因为它将数据发送到我的文件时出错。

有任何想法吗?

Ste*_*han 5

你的想法“三引号”的想法不错。但是由于引用受损,解析器不能正确处理它。您必须逃脱其中之一(外部之一 - 逃脱中间的不起作用):

<nul set /p =^""" >> abc.txt
Run Code Online (Sandbox Code Playgroud)

或者

<nul set /p =""^" >> abc.txt
Run Code Online (Sandbox Code Playgroud)

详细描述了如何cmd解析。

我也改变echo| set /p...<nul set /p,这要快得多。管道生成两个新cmd进程,因为管道的每一侧都在一个单独的进程中运行,这会花费时间。