Quelle est la façon la plus simple d'ajouter un texte au début d'un autre fichier texte dans la ligne de commande (Windows)?
echo "my line" > newFile.txt
type myOriginalFile.txt >> newFile.txt
type newFile.txt > myOriginalFile.txt
Non testé. Double >> signifie 'ajouter'
Une autre variation sur le thème.
(echo New Line 1) >file.txt.new
type file.txt >>file.txt.new
move /y file.txt.new file.txt
Avantages par rapport aux autres réponses publiées:
La séquence suivante fera ce que vous voulez, en ajoutant la ligne "new first line
" à la file.txt
fichier.
ren file.txt temp.txt
echo.new first line>file.txt
type temp.txt >>file.txt
del temp.txt
Notez la structure de l'écho. "echo.
"vous permet de mettre des espaces au début de la ligne si nécessaire et de joindre le" >
"le caractère de redirection garantit qu'il n'y a pas d'espaces de fin (sauf si vous les voulez, bien sûr).
Les éléments suivants fonctionneront également:
echo "my line" > newFile.txt
type newfile.txt myOriginalFile.txt > myOriginalFile.txt
Dans la première ligne, vous écrivez ma ligne dans newfile.txt. Dans la deuxième ligne, vous remplacez le texte de myOriginalFile.txt en le remplaçant par le texte de newfile.txt et myOriginalFile.txt, créant un nouveau myOriginalFile.txt qui contient les deux.
Si la première partie de la ligne peut être triée, comme la date/l'heure, utilisez la commande SORT/R pour placer les entrées les plus récentes en haut du fichier. Le texte suivant placera un horodatage sous la forme "AAAA-MM-JJ HH: JJ: SS AM/PM" au début de chaque ligne:
echo %DATE:~-4%-%DATE:~7,2%-%DATE:~4,2% %TIME% "my text line" >> myOriginalFile.txt
sort /R myOriginalFile.txt /O myOriginalFile.txt
Cependant, à mesure que les fichiers deviennent très volumineux, cette méthode (ainsi que celles ci-dessus) devient lente. Envisagez de trier uniquement lorsque cela est nécessaire au lieu de chaque entrée - ou utilisez un autre langage de script/programmation
Via PowerShell;
@("NEW Line 1","NEW Line 2") + (Get-Content "C:\Data\TestFile.txt") | Set-Content "C:\data\TestFile.txt"
Si vous souhaitez traiter des fichiers plus volumineux, la solution acceptée devient assez lente. Ensuite, il est plus rapide d'utiliser la copie avec un "+"
echo "my line" > newFile.txt
copy newFile.txt+myOriginalFile.txt combinedFile.txt
move /Y combinedFile.txt myOriginalFile.txt
del newFile.txt