Echo chaîne.fichier txt avec plusieurs lignes-avec fichier Batch Windows
J'essaie de créer un fichier Batch Windows pour créer un .txt avec plusieurs lignes. J'ai essayé plusieurs solutions pour insérer un saut de ligne dans la chaîne mais en vain. Il existe d'autres questions/réponses similaires, mais aucune d'entre elles n'aborde la mise de la chaîne entière dans un fichier texte.
Mon fichier batch lit actuellement:
echo Here is my first line
Here is my second line > myNewTextFile.txt
pause
Mon but est d'avoir le fichier texte lu:
Here is my first line
Here is my second line
Évidemment, cela ne fonctionne pas actuellement, mais je me demande si quelqu'un sait comment y arriver d'une façon simple?
4 réponses
(
echo Here is my first line
echo Here is my second line
echo Here is my third line
)>"myNewTextFile.txt"
pause
Il suffit de répéter l' echo
et >>
pour les lignes après la première. >>
signifie qu'il doit ajouter à un fichier au lieu de créer un nouveau fichier (ou d'écraser un fichier existant):
echo Here is my first line > myNewTextFile.txt
echo Here is my second line >> myNewTextFile.txt
echo Here is my third line >> myNewTextFile.txt
pause
En cherchant autre chose, je suis tombé sur cette vieille question, et j'ai un petit truc supplémentaire qui mérite d'être mentionné, je pense.
Toutes les solutions ont un problème avec les lignes vides et quand une ligne commence par une option pour la commande echo elle-même. Comparez les fichiers de sortie dans ces exemples:
call :data1 >file1.txt
call :data2 >file2.txt
exit /b
:data1
echo Next line is empty
echo
echo /? this line starts with /?
echo Last line
exit /b
:data2
echo:Next line is empty
echo:
echo:/? this line starts with /?
echo:Last line
exit /b
Maintenant, fichier1.txt contient:
Next line is empty
ECHO is off.
Displays messages, or turns command-echoing on or off.
ECHO [ON | OFF]
ECHO [message]
Type ECHO without parameters to display the current echo setting.
Last line
Alors que file2.txt contient:
Next line is empty
/? this line starts with /?
Last line
L'utilisation de echo:
miraculeusement résout les problèmes avec la sortie en fichier1.txt.
Outre les deux-points, il y a d'autres caractères que vous pouvez 'coller' à echo
, parmi eux un point, une barre oblique,... Essayez par vous-même.
Ce qui suit m'a travaillé.
{Here is my first line
Here is my second line
Here is my third line} > "myNewTextFile.txt"
Non Echo
requis et en utilisant des crochets normaux ()
même avec un caractère d'échappement, n'a pas fonctionné.