Wie gebe ich ein TAB-Zeichen in einer Eingabeaufforderung wieder?

Wie gebe ich ein TAB-Zeichen in einer Eingabeaufforderung wieder?

Was ist die richtige Art, in einer Windows-Batchdatei ein Echo auszugeben TAB?

echo A<TAB>B<TAB>C

Ich weiß, dass ich das Zeichen zwischen den Einträgen eingeben kann TAB, aber die meisten Editoren zeigen es als eine Folge von Leerzeichen an. Einige wandeln sie sogar automatisch in Leerzeichen um. Ich suche nach etwas Visuellerem.

Klärung: <TAB>bedeutet hier das echte Tabulatorzeichen. Ich suche nach dem C \t in einem Batch-Skript.

Antwort1

Drücken Sie einfach die TABTaste in einem Editor, der dies unterstützt, beispielsweise Notepad.

Wenn ich also Folgendes eingebe:

@echo 1<TAB>b
@echo 2<TAB>c

Das Ergebnis wäre:

Bildbeschreibung hier eingeben

Antwort2

Eine Lösung besteht darin, eine Umgebungsvariable namens TAB festzulegen und den Wert auf das tatsächliche Tabulatorzeichen zu setzen. Möglicherweise müssen Sie das Tabulatorzeichen aus einem Texteditor kopieren und einfügen, damit es korrekt eingegeben wird. Ich habe dies in Windows 7 ausprobiert und es funktioniert.

Verwenden Sie in Ihrer Batchdatei einfach %TAB% und es wird ein Tabulatorzeichen eingefügt.

Antwort3

Einschränkungen wie diese sind einer der Gründe für die Verwendung von Windows Script Host oder Powershell.

Windows Script Hostversendet(wird mitgeliefert) mit jeder Windows-Version ab 98 und kann auf 95 und NT 4 installiert werden.

Erstellen Sie eine Datei mit dem Namen demo.vbs, fügen Sie die folgende Zeile ein und speichern Sie sie.

WScript.StdOut.WriteLine "a" + chr(9) + "b"

Geben Sie nun in dem Verzeichnis, in dem Sie es gespeichert haben, Folgendes ein:

demo.vbs

und Sie sollten Folgendes sehen:

a       b

Sie können auch

cscript demo.vbs

Dadurch können Sie die bereitgestellten Befehlszeilenschalter verwenden cscript.

(Unter Vista getestet.)

Antwort4

Sofern Sie einen Editor verwenden, der die Tabs intakt hält, können Siesedund legen Sie es auf Ihren Pfad. Anschließend können Sie Folgendes tun:

echo "A`B`C" | sed 's/\t/<TAB>/g'

wobei jedes ` für einen echten Tab steht.


verwandte Informationen