コマンドプロンプトでTAB文字をエコーするにはどうすればいいですか

コマンドプロンプトでTAB文字をエコーするにはどうすればいいですか

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

echo A<TAB>B<TAB>C

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

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

答え1

TABサポートされているエディター (たとえばメモ帳) でキーを押すだけです。

したがって、次のように入力します。

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

結果は次のようになります:

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

答え2

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

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

答え3

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

Windows スクリプト ホスト発送済み(98 以降のすべての Windows バージョンに付属しており)、95 および NT 4 にインストールできます。

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

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

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

demo.vbs

次のように表示されます。

a       b

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

cscript demo.vbs

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

(Vista でテスト済み)

答え4

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

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

ここで、各 ` は実際のタブの代わりとなります。


関連情報