使用多行代码将字符串转换为.txt文件 - 使用Windows批处理文件

时间:2014-05-07 23:59:02

标签: windows shell batch-file

我正在尝试创建一个Windows批处理文件来创建一个包含多行的.txt。我已经尝试了几种解决方案在字符串中插入换行但无效。还有其他类似的问题/答案,但没有一个解决将整个字符串放入文本文件。

我的批处理文件目前显示为:

echo Here is my first line
Here is my second line > myNewTextFile.txt
pause

我的目标是将文本文件读为:

Here is my first line
Here is my second line

显然,目前这不起作用,但想知道是否有人知道如何以简单的方式实现这一目标?

4 个答案:

答案 0 :(得分:64)

(
echo Here is my first line
echo Here is my second line
echo Here is my third line
)>"myNewTextFile.txt"
pause

答案 1 :(得分:17)

只需在第一行之后重复echo>>>>表示它应附加到文件而不是创建新文件(或覆盖现有文件):

echo Here is my first line > myNewTextFile.txt
echo Here is my second line >> myNewTextFile.txt
echo Here is my third line >> myNewTextFile.txt
pause

答案 2 :(得分:4)

寻找别的东西,我偶然发现了这个老问题,我想还有一个值得一提的小技巧。

所有解决方案都存在空行问题,并且当行以echo命令本身的选项开头时。比较这些示例中的输出文件:

call :data1 >file1.txt
call :data2 >file2.txt
exit /b

:data1
echo Next line is empty
echo
echo /? this line starts with /?
echo Last line
exit /b

:data2
echo:Next line is empty
echo:
echo:/? this line starts with /?
echo:Last line
exit /b

现在,file1.txt包含:

Next line is empty 
ECHO is off. 
Displays messages, or turns command-echoing on or off.

  ECHO [ON | OFF]
  ECHO [message]

Type ECHO without parameters to display the current echo setting. 
Last line

虽然file2.txt包含:

Next line is empty

/? this line starts with /?
Last line

使用echo:奇迹般地解决了file1.txt中输出的问题。

除了冒号外,还有其他字符可以粘贴'到echo,其中有一个点,一个斜线,......试试自己。

答案 3 :(得分:-1)

以下对我有用。

{Here is my first line
Here is my second line
Here is my third line} > "myNewTextFile.txt"

不需要Echo并使用普通方括号()即使使用转义字符也不起作用。