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

dr.*_*vil 30 windows command-line text-files

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

Dar*_*uck 46

echo "my line" > newFile.txt
type myOriginalFile.txt >> newFile.txt
type newFile.txt > myOriginalFile.txt
Run Code Online (Sandbox Code Playgroud)

未经测试.双>>意味着'追加'

  • 第一行将是“echo”而不是“type”,但是谢谢,它成功了。 (2认同)

dbe*_*ham 16

主题的另一种变化.

(echo New Line 1) >file.txt.new
type file.txt >>file.txt.new
move /y file.txt.new file.txt
Run Code Online (Sandbox Code Playgroud)

优于其他发布的答案:

  • 最少的步骤
  • 没有临时文件遗留下来
  • 括号可防止第一行中不需要的尾随空格
  • move命令"即时"用旧的替换旧版本
  • 原始文件保持不变,直到更换它的最后一刻
  • 最终内容只写一次 - 如果文件很大,可能很重要.

  • @underscore_d - 绝对可以这样做,虽然每个命令必须在一个单独的行上,或者你需要在命令之间使用`&`.这样做实际上更快,因为文件只能打开一次才能写入.我的原始代码有一个括号,以防止在1之后的不需要的空格.没有parens和没有空间`echo New Line 1> file.txt.new`将解释`1>`意味着重定向stdout.1将不会被写入 (2认同)

pax*_*blo 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
Run Code Online (Sandbox Code Playgroud)

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


小智 5

以下内容也适用:

echo "my line" > newFile.txt
type newfile.txt myOriginalFile.txt > myOriginalFile.txt
Run Code Online (Sandbox Code Playgroud)

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

  • @StephenLead-比风险更糟-它永远不会起作用。 (2认同)