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?

32
demandé sur akjoshi 2014-05-08 03:59:01

4 réponses

(
echo Here is my first line
echo Here is my second line
echo Here is my third line
)>"myNewTextFile.txt"
pause
45
répondu Endoro 2014-05-08 00:26:50

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
13
répondu Ken White 2014-05-08 00:02:55

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.

0
répondu Jos 2018-03-26 11:22:35

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é.

-1
répondu mattnicola 2017-04-03 07:19:35