it-swarm.com.de

Wie kann ich ein TAB-Zeichen an einer Eingabeaufforderung ausgeben?

Was ist in einer Windows-Batchdatei der richtige Weg, um ein Echo zu erstellen? TAB?

echo A<TAB>B<TAB>C

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

Klarstellung:<TAB> bedeutet hier das echte Tabulatorzeichen. Ich suche das C\t in einem Stapelskript.

20
Haas

Schlagen Sie einfach die TAB Geben Sie einen Editor ein, der dies unterstützt, z. B. Editor.

Also, wenn ich das eingebe:

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

Es würde dazu führen:

enter image description here

17
Tamara Wijsman

Eine Lösung besteht darin, dass Sie eine Umgebungsvariable mit dem Namen TAB festlegen und den Wert auf das tatsächliche Tabulatorzeichen festlegen können. Möglicherweise müssen Sie das Tabulatorzeichen aus einem Texteditor kopieren und einfügen, damit es richtig eingegeben wird. Ich habe dies in Windows 7 versucht und es funktioniert.

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

9

Einschränkungen wie diese gehören zu den Gründen für die Verwendung von Windows Script Host oder Powershell.

Windows Script Host wird mit jeder Windows-Version ab 98 ausgeliefert und kann unter 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 aus dem Verzeichnis, in dem Sie es gespeichert haben, Folgendes ein:

demo.vbs

und du solltest sehen:

a       b

Sie können auch tun

cscript demo.vbs

hiermit können Sie die Befehlszeilenoptionen verwenden, die cscript bereitstellt.

(Getestet unter Vista.)

3

Hier ist eine einzeilige Lösung mit Powershell in einer Batch-Datei:

Powershell -noprofile -nologo -command Write-Output "a`tb`tc"

das `t ist das Tabulatorzeichen

1
stangm

Solange Sie einen Editor verwenden, der die Registerkarten intakt hält, können Sie sed herunterladen und auf Ihren Pfad setzen. Anschließend können Sie Folgendes tun:

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

wo jedes `für eine echte Registerkarte steht.


0
farfromhome