Wie können Sie einen Zeilenumbruch in die Ausgabe Ihrer Batch-Datei einfügen?
Ich möchte etwas tun wie:
echo hello\nworld
Die Ausgabe wäre:
hello
world
Wie können Sie einen Zeilenumbruch in die Ausgabe Ihrer Batch-Datei einfügen?
Ich möchte etwas tun wie:
echo hello\nworld
Die Ausgabe wäre:
hello
world
echo.
Genug gesagt.
Wenn Sie sie in einer einzigen Zeile benötigen, verwenden Sie die &
. Zum Beispiel,
echo Line 1 & echo. & echo line 3
würde als ausgegeben:
Line 1
line 3
Nun, sagen wir, Sie wollen etwas Ausgefalleneres, ...
set n=^&echo.
echo hello %n% world
Ausgänge
hello
world
Dann werfen Sie einfach eine %n%
wenn Sie eine neue Zeile in einer Echo-Anweisung wünschen. Dies ist näher an Ihrer \n
in verschiedenen Sprachen verwendet.
Aufschlüsselung
set n=
setzt die Variable n
gleich:
^
Löscht das nächste Symbol, das folgt:
&
Bedeutet, dass ein anderer Befehl in der gleichen Zeile ausgeführt wird. Wir kümmern uns nicht um die Fehlerebene (es ist eine Echo-Anweisung, um Himmels willen), also keine &&
erforderlich ist.
echo.
Setzt die Echo-Anweisung fort.
All dies funktioniert, weil man tatsächlich Variablen erstellen kann, die Code sind, und sie innerhalb anderer Befehle verwenden kann. Es ist eine Art Ghetto-Funktion, da Batch nicht gerade die fortschrittlichste aller Shell-Skriptsprachen ist. Das funktioniert nur, weil Batch Variablen schlecht verwendet und nicht zwischen Ints, Chars, Floats, Strings usw. unterscheidet.
Wenn Sie geschickt sind, können Sie das auch mit anderen Dingen machen. Zum Beispiel kann man damit ein Tabulator-Echo erzeugen
set t=^&echo. ::there are spaces up to the double colon
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.
9 Stimmen
Das war für mich sehr nützlich. Ich musste Echo machen \n \n | my_app.exe in einem Skript. Ich habe (echo. && echo.) | my_app.exe
2 Stimmen
Einfacher Ansatz " Code beginnt :" > echo hello&echo world , gibt Ihnen was Sie brauchen
2 Stimmen
Sie können ein unsichtbares ascii chr(255) in einer separaten Zeile einfügen, das eine neue Leerzeile erzwingt. Halten Sie die [alt]-Taste gedrückt und drücken Sie 255 auf der Tastatur. Dies fügt chr(255) ein, das ein leeres Quadrat ist. echo (alt+255) " Sie können nur den Ziffernblock benutzen, nicht die Zahlen oben auf der Tastatur!
0 Stimmen
Genauso wie die Hälfte der Computerreparatur darin besteht, das Gerät anzuschließen und einzuschalten, ist die Hälfte der Softwareentwicklung das, was ich als Raumfahrttechnik . Wir besoin de unsere leeren Zeilen genau so.
0 Stimmen
Wie wäre es damit?
echo Yes&echo No
1 Stimmen
@jwzumwalt danke für den Vorschlag mit alt+255, funktioniert in der Kommandozeile hervorragend
0 Stimmen
Printf " \n\n\n "
0 Stimmen
Hat jemand hier newline als externe Befehls-Batchdatei angeboten?
NEWLINE.bat
. Einige der hier vorgestellten Lösungen funktionieren in einer separaten Batchdatei nicht richtig. Einige Syntaxen ergeben zum BeispielECHO is off
wenn es direkt von der Befehlszeile aus aufgerufen wird.