使用bat脚本编写文本文件:缺少字符

时间:2014-09-09 21:06:59

标签: batch-file windows-server-2008-r2

我正在使用bat脚本尝试将多行写入文本文件。但是,在一种情况下,我希望写下一个字符。

以下是代码:

@echo off
@echo san policy=onlineall> test.txt
@echo select disk 1>> test.txt
@echo online disk>> test.txt

以下是生成的文本文件(test.txt)

san policy=onlineall
select disk 
online disk

为什么" 1"结果代码中缺少?

2 个答案:

答案 0 :(得分:3)

您可以使用>重定向不同的流。它们通过数字区分,0是stdin,1是stdout,2是stderr,列出预定义的。

所以为了回答你的问题,当你写1>时,windows认为你想要回显到流1(无论如何这是默认的)。一种可能的解决方案是简单地在它们之间插入一个空格,但也会输出这个空间。但是,您也可以这样写:

>>test.txt echo select disk 1

答案 1 :(得分:3)

使用插入符号转义1也可以:

@echo off
@echo san policy=onlineall> test.txt
@echo select disk ^1>> test.txt
@echo online disk>> test.txt