En un archivo por lotes de Windows, ¿cuál es la forma correcta de hacer eco de un archivo TAB?
echo A<TAB>B<TAB>C
Sé que puedo escribir el TABcarácter entre entradas, pero la mayoría de los editores lo mostrarán como una secuencia de espacios. Algunos incluso los convertirán automáticamente en espacios, yo busco algo más visual.
Aclaración: <TAB>
aquí significa el carácter de pestaña real. Estoy buscando C \t en un script por lotes.
Respuesta1
Simplemente presione la TABtecla en un editor que lo admita, por ejemplo el Bloc de notas.
Entonces, si ingreso esto:
@echo 1<TAB>b
@echo 2<TAB>c
Resultaría en esto:
Respuesta2
Una solución es que puede configurar una variable de entorno llamada TAB y establecer el valor en el carácter de tabulación real. Es posible que deba copiar y pegar el carácter de tabulación desde un editor de texto para ingresarlo correctamente. Probé esto en Windows 7 y funciona.
En su archivo por lotes, simplemente use %TAB% e insertará un carácter de tabulación.
Respuesta3
Limitaciones como ésta se encuentran entre las razones para utilizar Windows Script Host o Powershell.
Host de secuencias de comandos de Windowsenviado(se envía) con todas las versiones de Windows desde 98 en adelante y se puede instalar en 95 y NT 4.
Cree un archivo llamado demo.vbs
, pegue la siguiente línea en él y guárdelo.
WScript.StdOut.WriteLine "a" + chr(9) + "b"
Ahora, desde el directorio donde lo guardaste, ingresa:
demo.vbs
y deberías ver:
a b
También puedes hacer
cscript demo.vbs
lo que le permitirá utilizar los modificadores de línea de comando que cscript
proporciona.
(Probado en Vista).
Respuesta4
Siempre que utilices un editor que mantenga las pestañas intactas, puedes descargarsedy ponlo en tu camino, y luego podrías hacer algo como:
echo "A`B`C" | sed 's/\t/<TAB>/g'
donde cada `representa una pestaña real.