611 votes

Comment pouvez-vous l'écho d'un saut de ligne dans les fichiers batch?

Comment pouvez-vous vous insérez un saut de ligne à partir de votre fichier de commandes de sortie.

Je veux faire quelque chose comme:

> echo hello\nworld

Qui de sortie:

bonjour
monde

537voto

Matt Lacey Points 50756

utilisation

echo hello
echo.
echo world

445voto

Grimtron Points 2640

echo hello & echo.world

Cela signifie que vous pouvez définir & echo. comme une constante pour un retour à la ligne.

94voto

macropas Points 1382

Il est une fonctionnalité standard de l' echo: cmd/chauve-souris les fichiers à écrire vide de ligne, qui émule une nouvelle ligne dans votre cmd-sortie:

@echo off
@echo line1
@echo:
@echo line2

Sortie de cité ci-dessus cmd-fichier:

line1

line2

63voto

jeb Points 26035

Comme la réponse de Ken, mais avec l'utilisation de l'expansion retardée.

setlocal EnableDelayedExpansion
set LF=^


REM Two empty lines are necessary
echo Line1!LF!Line2

D'abord une simple caractère de saut de ligne est créée et affectée à la LF-variable.
Cela fonctionne comme le signe d'insertion à l'extrémité de la ligne de tente d'échapper le caractère suivant, mais si c'est un Saut de ligne, il est ignoré et le caractère suivant est lu et s'est échappé (même si c'est aussi un saut de ligne).
Ensuite, vous avez besoin d'un troisième saut de ligne à la fin de l'instruction, d'autre la troisième ligne sera annexé à la LF-variable.
Même les fichiers batch ont des fins de ligne avec CR/LF seulement les LF sont importantes, les CR sont supprimés dans cette phase de l'analyseur.

L'avantage de l'utilisation de l'expansion retardée est, qu'il n'y a pas de caractère spécial de manutention à tous.
echo Line1%LF%Line2 serait un échec, comme l'analyseur s'arrête l'analyse à sauts de ligne unique.

D'autres explications sont à
DONC:Long commandes réparties sur plusieurs lignes dans Vista/DOS batch (.chauve-souris) fichier
DONC:Comment le Windows Interpréteur de Commande (CMD.EXE) analyser les scripts?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X