Як я повторюю таблицю TAB у командному рядку


21

У пакетному файлі Windows, що є правильним способом відлуння TAB?

echo A<TAB>B<TAB>C

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

Уточнення: <TAB> тут мається на увазі справжня табуляція. Я шукаю C \ t у пакетному сценарії.


Ви спробували редактори і знайшли вкладку відображення "найбільш" як послідовність пробілів? які це? Перший редактор, який я б спробував, - це блокнот, який відображає вкладки як вкладки.
барлоп

Відповіді:


17

Просто натисніть TABклавішу в редакторі, який її підтримує, наприклад, Блокнот.

Отже, якщо я вступлю це:

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

Це призведе до цього:

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


1
Це працює, і це я роблю. Проблема полягає в тому, що кожен, хто редагує файл, може замінити вкладку, що не розміщується, не помічаючи, що це навмисно.
Haas

5
@Haas: Що робити з тим, set TAB=<TAB>щоб уточнити, що це символ вкладки, а потім використовувати його %TAB%потім? Наскільки мені відомо, розбирають echoлише розбори %...%. Наскільки я не знаю вбудованого символу вкладок ...
Tamara Wijsman

@barlop: Що ...............? xD
Тамара Війсман

1
Я використовую пропозицію Тома Війсмана, але з цитуванням. SET "TAB= "де пробіл - це символ TAB (0x09). Це явно неоптимально, але, здається, це найкраща альтернатива, яку я бачив.
запалили

Щоб отримати символ TAB при натисканні клавіші TAB, потрібно запустити командний рядок, як cmd /F:OFFвідключити автоматичне заповнення файлу / dir. імена ...
aschipfl

11

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

У своєму пакетному файлі просто використовуйте% TAB%, і він вставить символ вкладки.


3
+1 хтось проголосував за вас, можливо, якщо цю відповідь можна знайти десь у коментарях. Але відповіді слід шукати у відповідях, а не в коментарях, тому голосування від мене
чудо173

3

Такі обмеження є одними з причин використовувати хост сценаріїв Windows або 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.)


Powershell було б дуже приємно, але це не завжди доступно ...
Haas

@Haas: Перегляньте мою відредаговану відповідь.
Призупинено до подальшого повідомлення.

Спасибі Деннісе. Я хотів би скористатися чимось новим і кращим, але це єдиний варіант, який я маю для цього конкретного сценарію.
Haas

@Haas: Я просто подумав, що "я шукаю щось більш візуальне" - це вимога.
Призупинено до подальшого повідомлення.

1

Ось однорядне рішення, що використовує паттернша в пакетному файлі:

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

`t - символ вкладки


Ах, повноваження є табу, якщо хтось це вже не сказав.
Pacerier

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


2
Як це краще / відрізняється від просто натискання самої вкладки?
Máté Juhász
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.