Windowsのバッチファイルで、エコーする適切な方法は何TABですか?
echo A<TAB>B<TAB>C
TABエントリ間に文字を入力できることは知っていますが、ほとんどのエディターはスペースのシーケンスとして表示します。いくつかは自動的にスペースに変換することさえあります。もっと視覚的なものを探しています。
明確化: <TAB>
ここでは実際のタブ文字を意味します。バッチスクリプトでC \ tを探しています。
Windowsのバッチファイルで、エコーする適切な方法は何TABですか?
echo A<TAB>B<TAB>C
TABエントリ間に文字を入力できることは知っていますが、ほとんどのエディターはスペースのシーケンスとして表示します。いくつかは自動的にスペースに変換することさえあります。もっと視覚的なものを探しています。
明確化: <TAB>
ここでは実際のタブ文字を意味します。バッチスクリプトでC \ tを探しています。
回答:
TABそれをサポートするエディター、たとえばメモ帳でキーを押すだけです。
したがって、これを入力すると:
@echo 1<TAB>b
@echo 2<TAB>c
これは次のようになります。
set TAB=<TAB>
それがタブ文字であることを明確にし、その後使用するのは%TAB%
どうですか?私の知るecho
限り、解析のみ%...%
です。組み込みのタブ文字までのところ私の知るほど...ありません
SET "TAB= "
ここで、空白は実際にはTAB(0x09)文字です。それは明らかに最適ではありませんが、私が見た中で最良の選択肢のようです。
cmd /F:OFF
は、file / dirの自動補完を無効にするなどのコマンドプロンプトを起動する必要があります。名前
1つの解決策は、TABという環境変数を設定し、値を実際のタブ文字に設定できることです。正しく入力するには、テキストエディターからタブ文字をコピーして貼り付ける必要がある場合があります。私はこれをWindows 7で試しましたが、動作します。
バッチファイルでは、%TAB%を使用するだけで、タブ文字が挿入されます。
このような制限は、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でテスト済み。)
よく知られていない基本的な方法は、TABプレーンASCII chr(9)を使用してCMD に送信することです。この特殊文字を呼び出すには、数値キーボードで9を押しながら、左Altキーを同時に押します。太字のOに見えるCharが表示されます。それ以外の場合は、何らかのエンコードまたはキーボードマッピングがオンになります。
エディターがプレーンASCIIエンコードまたはバイナリモードに設定されている場合、このシーケンスをファイルに保存できます。そのようなものがない場合は、CMDを入力してみてください。
ECHO a (sequence LALT+9) b > tabchk.bat
tabchk.bat