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


21

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

echo A<TAB>B<TAB>C

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

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


エディターを試してみて、スペースのシーケンスとして「ほとんどの」表示タブを見つけましたか?どれ?私が試した最初のエディターはメモ帳で、タブをタブとして表示します。
barlop

回答:


17

TABそれをサポートするエディター、たとえばメモ帳でキーを押すだけです。

したがって、これを入力すると:

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

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

ここに画像の説明を入力してください


1
それは動作し、それが私がそれをやっている方法です。問題は、ファイルを編集する人が意図せずに奇妙に配置されたタブを置き換える可能性があることです。
ハース

5
@Haas:set TAB=<TAB>それがタブ文字であることを明確にし、その後使用するのは%TAB%どうですか?私の知るecho限り、解析のみ%...%です。組み込みのタブ文字までのところ私の知るほど...ありません
タマラWijsman

@barlop:何...............?xD
タマラワイズマン

1
私はTom Wijsmanの提案を引用していますが、引用しています。SET "TAB= "ここで、空白は実際にはTAB(0x09)文字です。それは明らかに最適ではありませんが、私が見た中で最良の選択肢のようです。
点灯

Tabキーを押したときにTab文字を取得するにcmd /F:OFFは、file / dirの自動補完を無効にするなどのコマンドプロンプトを起動する必要があります。名前
...-aschipfl

11

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

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


3
+1 sombodyは、この回答がコメントのどこかに記載されている場合、あなたを投票しました。しかし、回答は回答ではなくコメントで見つけられるべきであるため、私からの
賛成票である

3

このような制限は、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は非常に便利ですが、常に利用できるとは限りません...-
ハース

@Haas:編集した回答をご覧ください。
追って通知があるまで一時停止します。

ありがとうデニス。私はもっ​​と新しくてより良いものを使いたいのですが、この特定のスクリプトのために私が持っている1つのオプションです。
ハース

@Haas:「もっと視覚的なものを探している」が必要だと思いました。
追って通知があるまで一時停止します。

1

バッチファイルでpowershellを使用する1行のソリューションを次に示します。

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

`tはタブ文字です


ああ、誰かが言っていない限り、powershellはタブーです。
Pacerier

0

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

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

各 `は実際のタブの代わりになります。



-1

よく知られていない基本的な方法は、TABプレーンASCII chr(9)を使用してCMD に送信することです。この特殊文字を呼び出すには、数値キーボードで9を押しながら、左Altキーを同時に押します。太字のOに見えるCharが表示されます。それ以外の場合は、何らかのエンコードまたはキーボードマッピングがオンになります。

エディターがプレーンASCIIエンコードまたはバイナリモードに設定されている場合、このシーケンスをファイルに保存できます。そのようなものがない場合は、CMDを入力してみてください。

ECHO a (sequence LALT+9) b > tabchk.bat tabchk.bat


2
タブ自体を押すだけでなく、どのように優れていますか?
マーテユハス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.