Каков самый простой способ добавить текст в начало другого текстового файла в командной строке (Windows)?
Самый простой способ добавить текст в начало другого текстового файла в командной строке (Windows)
Ответ 1
echo "my line" > newFile.txt
type myOriginalFile.txt >> newFile.txt
type newFile.txt > myOriginalFile.txt
непроверенная. Двойной → означает "добавить"
Ответ 2
Еще одна вариация темы.
(echo New Line 1) >file.txt.new
type file.txt >>file.txt.new
move /y file.txt.new file.txt
Преимущества по сравнению с другими опубликованными ответами:
- минимальное количество шагов
- Отсутствует файл temp Скобки
- предотвращают нежелательное конечное пространство в первой строке.
- команда перемещения "мгновенно" заменяет старую версию новым
- исходный файл остается неизменным до последнего момента его замены
- окончательный контент записывается только один раз - потенциально важный, если файл огромен.
Ответ 3
Следующая последовательность сделает то, что вы хотите, добавив строку "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.
" позволяет поместить пробелы в начале строки, если необходимо, и примыкание символа перенаправления ">
" гарантирует отсутствие конечных пробелов (если вы не хотите их, конечно).
Ответ 4
Далее будут работать:
echo "my line" > newFile.txt
type newfile.txt myOriginalFile.txt > myOriginalFile.txt
В первой строке вы пишете мою строку в newfile.txt. Во второй строке вы заменяете текст из myOriginalFile.txt, перезаписывая его текстом из файла newfile.txt и myOriginalFile.txt, создавая новый файл myOriginalFile.txt, содержащий оба.
Ответ 5
Если первая часть строки может быть отсортирована, например дата/время, используйте команду 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
Однако, по мере того как файлы становятся очень большими, этот метод (а также выше) замедляется. Рассмотрите сортировку только тогда, когда это необходимо, а не с каждой записью - или используйте другой язык сценариев/программирования
Ответ 6
Через PowerShell;
@("NEW Line 1","NEW Line 2") + (Get-Content "C:\Data\TestFile.txt") | Set-Content "C:\data\TestFile.txt"
Ответ 7
Если вы хотите обрабатывать большие файлы, принятое решение становится довольно медленным. Тогда быстрее использовать копию с +
echo "my line" > newFile.txt
copy newFile.txt+myOriginalFile.txt combinedFile.txt
move /Y combinedFile.txt myOriginalFile.txt
del newFile.txt