Como faço para ecoar um caractere TAB em um prompt de comando

20

Em um arquivo de lote do Windows, qual é a maneira correta de fazer eco de uma TAB ?

echo A<TAB>B<TAB>C

Eu sei que posso digitar o caractere TAB entre as entradas, mas a maioria dos editores irá exibi-lo como uma seqüência de espaços. Alguns até mesmo os convertem automaticamente em espaços, estou procurando algo mais visual.

Esclarecimento: <TAB> aqui significa o caractere de tabulação real. Eu estou procurando o C \ t em um script em lotes.

    
por Haas 01.02.2011 / 17:48

6 respostas

17

Basta pressionar a tecla TAB em um editor que ofereça suporte ao Bloco de Notas, por exemplo.

Então, se eu inserir isso:

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

Isso resultaria nisso:

    
por 01.02.2011 / 19:00
9

Uma solução é que você pode definir uma variável de ambiente chamada TAB e definir o valor para o caractere de tabulação atual. Pode ser necessário copiar e colar o caractere de tabulação de um editor de texto para que ele seja digitado corretamente. Eu tentei isso no Windows 7 e funciona.

No seu arquivo de lote, use apenas% TAB% e ele irá inserir um caractere de tabulação.

    
por 21.08.2013 / 17:42
3

Limitações como esta estão entre as razões para usar o Windows Script Host ou o Powershell.

O Windows Script Host é enviado (fornecido) com todas as versões do Windows a partir de 98 e pode ser instalado em 95 e NT 4.

Crie um arquivo chamado demo.vbs e cole a seguinte linha e salve-o.

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

Agora, no diretório em que você salvou, digite:

demo.vbs

e você deve ver:

a       b

Você também pode fazer

cscript demo.vbs

que lhe permitirá usar as opções de linha de comando que cscript fornece.

(testado no Vista.)

    
por 01.02.2011 / 19:31
1

Aqui está uma solução de uma linha usando o powershell em um arquivo de lote:

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

o 't é o caractere de tabulação

    
por 17.11.2014 / 14:09
0

Contanto que você esteja usando um editor que mantenha as guias intactas, você pode fazer o download sed e colocá-lo no seu caminho, e então você poderia fazer algo como:

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

em que cada um está em uma tabulação real.

por 01.02.2011 / 18:43
-1

A maneira básica, mas não muito conhecida, é enviar TAB para o CMD usando chr ASCII simples (9). Este char especial pode ser invocado pressionando 9 no teclado numérico enquanto mantém pressionado o botão esquerdo-ALT ao mesmo tempo. O caractere que parece em negrito O deve aparecer, caso contrário, algum tipo de codificação ou mapeamento de teclado está ativado.

Se o seu Editor foi definido como codificação ASCII simples ou modo binário, você pode salvar essa sequência em arquivo. Se você não tem tal, tente typying CMD:

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

    
por 31.03.2018 / 15:31