Как отобразить символ TAB в командной строке

Как отобразить символ TAB в командной строке

Как правильно вывести на экран команду echo в пакетном файле Windows TAB?

echo A<TAB>B<TAB>C

Я знаю, что могу ввести TABсимвол между записями, но большинство редакторов отобразят его как последовательность пробелов. Некоторые даже автоматически преобразуют их в пробелы, я ищу что-то более наглядное.

Пояснение: <TAB>здесь означает настоящий символ табуляции. Я ищу C \t в пакетном скрипте.

решение1

Просто нажмите TABклавишу в редакторе, который ее поддерживает, например, в Блокноте.

Итак, если я введу это:

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

Это приведет к следующему:

введите описание изображения здесь

решение2

Одним из решений является то, что вы можете задать переменную окружения TAB и задать значение фактического символа табуляции. Вам может потребоваться скопировать и вставить символ табуляции из текстового редактора, чтобы он был введен правильно. Я пробовал это в Windows 7, и это работает.

В вашем пакетном файле просто используйте %TAB%, и он вставит символ табуляции.

решение3

Подобные ограничения являются одной из причин использования Windows Script Host или Powershell.

Хост скриптов Windowsотправленный(поставляется) с каждой версией Windows, начиная с 98, и может быть установлен на 95 и NT 4.

Создайте файл с именем demo.vbs, вставьте в него следующую строку и сохраните его.

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

Теперь из каталога, в котором вы его сохранили, введите:

demo.vbs

и вы должны увидеть:

a       b

Вы также можете сделать

cscript demo.vbs

что позволит вам использовать cscriptпредоставляемые параметры командной строки.

(Проверено на Vista.)

решение4

Если вы используете редактор, который сохраняет вкладки нетронутыми, вы можете загрузитьседи поместите его на свой путь, а затем вы можете сделать что-то вроде:

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

где каждый ` заменяет настоящую вкладку.


Связанный контент