web-dev-qa-db-fra.com

Chaîne d'écho en fichier .txt avec plusieurs lignes - avec fichier batch Windows

J'essaye de créer un fichier batch Windows pour créer un fichier .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 totalité de la chaîne dans un fichier texte.

Mon fichier batch se lit actuellement:

echo Here is my first line
Here is my second line > myNewTextFile.txt
pause

mon but est de faire lire le fichier texte:

Here is my first line
Here is my second line

Évidemment, cela ne fonctionne pas actuellement, mais vous vous demandez si quelqu'un sait comment y arriver simplement?

45
Linuxmint
(
echo Here is my first line
echo Here is my second line
echo Here is my third line
)>"myNewTextFile.txt"
pause
73
Endoro

Il suffit de répéter les echo et >> pour les lignes après le premier. >> _ signifie qu'il doit être ajouté à un fichier au lieu de créer un nouveau fichier (ou de remplacer 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
17
Ken White

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 lorsqu'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

À présent, 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: _ résout miraculeusement les problèmes liés à la sortie dans file1.txt.

Outre les deux points, il y a d'autres caractères que vous pouvez "coller" dans echo, parmi lesquels un point, une barre oblique, ... Essayez par vous-même.

4
Jos