Самый простой способ добавить текст в начало другого текстового файла в командной строке (Windows) - PullRequest
27 голосов
/ 15 февраля 2009

Какой самый простой способ добавить текст в начало другого текстового файла в командной строке (Windows)?

Ответы [ 6 ]

44 голосов
/ 15 февраля 2009
echo "my line" > newFile.txt
type myOriginalFile.txt >> newFile.txt
type newFile.txt > myOriginalFile.txt

непроверенная. Двойной >> означает «добавить»

16 голосов
/ 21 ноября 2013

Еще одна вариация на тему.

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

Преимущества перед другими опубликованными ответами:

  • минимальное количество шагов
  • нет временного файла более
  • круглые скобки предотвращают нежелательные завершающие пробелы в первой строке
  • команда перемещения «мгновенно» заменяет старую версию новой
  • исходный файл остается неизменным до последнего момента его замены
  • окончательный контент записывается только один раз - потенциально важно, если файл огромен.
8 голосов
/ 15 февраля 2009

Следующая последовательность сделает то, что вы хотите, добавив строку "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.» позволяет вам ставить пробелы в начале строки, если это необходимо, а примыкание к символу перенаправления «>» гарантирует отсутствие конечных пробелов (если, конечно, вы их не хотите).

5 голосов
/ 30 ноября 2012

Следующее также будет работать:

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

В первой строке вы пишете мою строку в newfile.txt. Во второй строке вы заменяете текст из myOriginalFile.txt, перезаписывая его текстом из newfile.txt и myOriginalFile.txt, создавая новый myOriginalFile.txt, содержащий оба.

2 голосов
/ 29 декабря 2016

Если можно отсортировать первую часть строки, например, дату / время, используйте команду SORT / R, чтобы поместить самые последние записи в начало файла. Следующее поместит отметку даты / времени в виде «ГГГГ-ММ-ДД ЧЧ: ДД: СС AM / PM» в начале каждой строки:

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

Однако, поскольку файлы становятся очень большими, этот метод (так же как вышеупомянутые) становится медленным. Рассмотрите возможность сортировки только при необходимости, а не с каждой записью - или используйте другой язык сценариев / программирования

0 голосов
/ 03 мая 2019

через PowerShell;

@("NEW Line 1","NEW Line 2") + (Get-Content "C:\Data\TestFile.txt") | Set-Content "C:\data\TestFile.txt"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...