在命令行中将文本添加到另一个文本文件开头的最简单方法(Windows)

时间:2009-02-15 11:17:31

标签: windows command-line text-files

在命令行(Windows)中将文本添加到另一个文本文件开头的最简单方法是什么?

7 个答案:

答案 0 :(得分:44)

echo "my line" > newFile.txt
type myOriginalFile.txt >> newFile.txt
type newFile.txt > myOriginalFile.txt

未测试。 双>>意思是'追加'

答案 1 :(得分:16)

主题的另一种变体。

(echo New Line 1) >file.txt.new
type file.txt >>file.txt.new
move /y file.txt.new file.txt

优于其他已发布的答案:

  • 最少步骤数
  • 没有留下临时文件
  • 括号可防止第一行中不需要的尾随空格
  • 移动命令"瞬间"用新的
  • 替换旧版本
  • 原始文件在更换后的最后一刻保持不变
  • 最终内容只写一次 - 如果文件很大,则可能很重要。

答案 2 :(得分:8)

以下序列将执行您想要的操作,将“new first line”行添加到file.txt文件中。

ren file.txt temp.txt
echo.new first line>file.txt
type temp.txt >>file.txt
del temp.txt

注意回声的结构。 “echo.”允许您在必要时在行的开头放置空格,并且邻接“>”重定向字符确保没有尾随空格(当然,除非您需要它们)。

答案 3 :(得分:5)

以下内容也适用:

echo "my line" > newFile.txt
type newfile.txt myOriginalFile.txt > myOriginalFile.txt

在第一行中,您将我的行写入newfile.txt。在第二行中,您将使用newfile.txt和myOriginalFile.txt中的文本覆盖myOriginalFile.txt中的文本,并创建一个包含两者的新myOriginalFile.txt。

答案 4 :(得分:2)

如果可以对行的第一部分进行排序,例如日期/时间,则使用SORT / R命令将最新的条目放在文件的顶部。 以下将以" YYYY-MM-DD HH:DD:SS AM / PM"的形式发出日期/时间戳。到每一行的开头:

echo %DATE:~-4%-%DATE:~7,2%-%DATE:~4,2% %TIME% "my text line" >> myOriginalFile.txt
sort /R myOriginalFile.txt /O myOriginalFile.txt

然而,随着文件变得非常大,这种方法(以及上面的方法)变得很慢。考虑仅在需要时而不是每个条目进行排序 - 或使用其他脚本/编程语言

答案 5 :(得分:0)

通过PowerShell;

@("NEW Line 1","NEW Line 2") + (Get-Content "C:\Data\TestFile.txt") | Set-Content "C:\data\TestFile.txt"

答案 6 :(得分:0)

如果您要处理较大的文件,则可接受的解决方案会变得很慢。 然后使用带有'+'的副本会更快

echo "my line" > newFile.txt
copy newFile.txt+myOriginalFile.txt combinedFile.txt
move /Y combinedFile.txt myOriginalFile.txt
del newFile.txt