批量回显|设置/ p只写“在txt文档中

时间:2014-05-16 05:31:20

标签: batch-file

我请求帮助!

我必须在txt文档中写入内联字符串。

字符串的一部分是简单的"我尝试了很多方法,但没有找到正确的方法。

我只需要写#34;与之前的文本和之后的文本一致。

这里有一些我试过的:

echo ^" >> test.txt // work but with line break

echo|set /p = ^" >> test.txt //Dont work
echo|set /p = "^"" >> test.txt // Dont work

等...

希望有人可以帮助我。

Thak you!

2 个答案:

答案 0 :(得分:1)

诀窍是采用语法。将目的地和来源放在set

的前面
>test.txt <nul set /p ="""

&#34;写入test.txt&#34; - &#34;得到空输入(回车)&#34; - &#34;写"(用双引号括起来)&#34;

单个"被解释为&#34;开始......&#34;因此您必须将其括在双引号中。

是的,我知道 - 这很难看......

答案 1 :(得分:1)

正如斯蒂芬所说,单一报价仅作为起始报价处理。

但我更喜欢扩展的set语法

>test.txt <nul set /p "dummyVar=""

扩展set语法需要在变量名称前面引用引号,在结尾引用一个引号 两个引号都不是内容的一部分,但在最后一个引用中,内容将停止。

<nul set /p "var=hello & you"  this is not visible

正如您所看到的,Stephan和我的示例中我们使用<nul而不是echo |,因为管道将启动两个新的cmd.exe任务,并且回显本身比正常重定向慢。