Как правильно вывести на экран команду 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'
где каждый ` заменяет настоящую вкладку.