Windowsバッチファイルで、エコーする適切な方法は何ですか TAB?
echo A<TAB>B<TAB>C
入力できることを知っています TAB エントリ間の文字ですが、ほとんどのエディタはそれを一連のスペースとして表示します。自動的にスペースに変換するものさえあるので、もっと視覚的なものを探しています。
説明:<TAB>
ここは実際のタブ文字を意味します。バッチスクリプトでC\tを探しています。
ちょうどヒット TAB それをサポートするエディタ、たとえばメモ帳のキー。
だから、これを入力すると:
@echo 1<TAB>b
@echo 2<TAB>c
これは次のようになります:
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でテスト済み。)
以下は、バッチファイルでpowershellを使用する1行のソリューションです。
Powershell -noprofile -nologo -command Write-Output "a`tb`tc"
`tはタブ文字です
タブをそのまま維持するエディターを使用している限り、 sed をダウンロードしてパスに配置し、次のようにすることができます。
echo "A`B`C" | sed 's/\t/<TAB>/g'
ここで、各 `は実際のタブを表しています。