20

В командном файле Windows, как правильно отобразить TAB?

echo A<TAB>B<TAB>C

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

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

6 ответов6

17

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

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

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

Это привело бы к этому:

9

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

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

3

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

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

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

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

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

demo.vbs

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

a       b

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

cscript demo.vbs

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

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

1

Вот однострочное решение с использованием powershell в командном файле:

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

`t - символ табуляции

0

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

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

где каждый `стоит за реальную вкладку.


-1

Основной способ, но не очень известный, это отправить TAB в CMD с помощью простого ASCII chr(9). Этот специальный символ можно вызвать, нажав 9 на цифровой клавиатуре, одновременно удерживая нажатой левую клавишу ALT. Должен появиться символ, который выглядит как жирный O, в противном случае включается какое-либо кодирование или отображение клавиатуры.

Если для вашего редактора задана обычная кодировка ASCII или двоичный режим, вы можете сохранить эту последовательность в файл. Если у вас его нет, попробуйте ввести CMD:

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .