我正在尝试创建一个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
显然,目前这不起作用,但想知道是否有人知道如何以简单的方式实现这一目标?
答案 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
并使用普通方括号()
即使使用转义字符也不起作用。