web-dev-qa-db-ja.com

コマンドプロンプトでTAB文字をエコーする方法

Windowsバッチファイルで、エコーする適切な方法は何ですか TAB

echo A<TAB>B<TAB>C

入力できることを知っています TAB エントリ間の文字ですが、ほとんどのエディタはそれを一連のスペースとして表示します。自動的にスペースに変換するものさえあるので、もっと視覚的なものを探しています。

説明:<TAB>ここは実際のタブ文字を意味します。バッチスクリプトでC\tを探しています。

22
Haas

ちょうどヒット TAB それをサポートするエディタ、たとえばメモ帳のキー。

だから、これを入力すると:

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

これは次のようになります:

enter image description here

17
Tamara Wijsman

1つの解決策は、TABと呼ばれる環境変数を設定し、値を実際のタブ文字に設定できることです。正しく入力するには、テキストエディタからタブ文字をコピーして貼り付ける必要がある場合があります。私はこれをWindows 7で試しましたが、うまくいきます。

バッチファイルで%TAB%を使用すると、タブ文字が挿入されます。

11

このような制限は、Windows Script HostまたはPowershellを使用する理由の1つです。

Windows Script Host 同梱 (同梱)98以降のすべてのWindowsバージョンで、95およびNT 4にインストールできます。

demo.vbsというファイルを作成し、次の行を貼り付けて保存します。

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

保存したディレクトリから、次のように入力します。

demo.vbs

そしてあなたは見るべきです:

a       b

あなたもすることができます

cscript demo.vbs

これにより、cscriptが提供するコマンドラインスイッチを使用できるようになります。

(Vistaでテスト済み。)

以下は、バッチファイルでpowershellを使用する1行のソリューションです。

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

`tはタブ文字です

1
stangm

タブをそのまま維持するエディターを使用している限り、 sed をダウンロードしてパスに配置し、次のようにすることができます。

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

ここで、各 `は実際のタブを表しています。


0
farfromhome