Pregunta

¿Cómo forzar el comando echo a emitir un carácter de pestaña en MS nmake makefile? Las pestañas literales insertadas directamente en una cadena después del comando ECHO se eliminan por nmake y no se muestran en el archivo de salida.

all :
    @echo I WANT TO OUTPUT THE <TAB> CHARACTER HERE! > output.txt
¿Fue útil?

Solución

Puedes usar una variable con PESTAÑA carbonizarse. Pon estas líneas en su archivo .bat:

establecer tab =Tab de carrera Char desde su teclado
Echo A%Tab%b> YourFile.txt

Al hacerlo, yourfile.txt tendrá texto unPESTAÑAb

Otros consejos

Como solución alternativa, puede crear un archivo que contenga el carácter de pestaña, llamado input.txt (no usando nmake) y luego decir:

all :
    @copy /b input.txt output.txt

Supongo que ya ha intentado poner la pestaña Inside Cotes.

all:
    @echo "<TAB>" > output.txt

DOS y Windows tienen soporte de texto feo en archivos de lotes nativos :).

Aquí hay una buena manera de hacer tu tarea:

  1. Instalar Python Interpretator
  2. Escriba un script simple que agrega el carácter con el código especificado en el archivo
  3. Llame al script donde quiera :)

Script simple:

'''
append_char.py - appends character with specified code to end of file

Usage:  append_char.py  filename charcode

'''
import os
import sys

filename = sys.argv[1]
assert os.path.exists(filename)

charcode = int(sys.argv[2])
assert 0 <= charcode <= 255

fh = open(filename, 'ab')
fh.seek(0, os.SEEK_END)
fh.write(chr(charcode))

fh.close()

Usando este script desde el archivo por lotes, puede crear cualquier archivo posible en el universo :)

output.txt:
    <<output.txt
I WANT TO OUTPUT THE <TAB> CHARACTER HERE!
<<KEEP

<TAB> representa un personaje de pestaña literal aquí, por supuesto.

Tenía la misma necesidad. Usé la respuesta usando las citas alrededor del personaje y la llevé un paso más allá.

{Tab} significa presionar la tecla de tabla del teclado en el editor de texto.

Establecer tab = "{tab}"

Establecer pestaña =%pestaña: ~ 1,1%

La segunda línea extrae el carácter central de la cadena citada.

Ahora puede usar la variable % Tab % con Echo y, sospecho, en cualquier otro lugar es necesario.

Echo %pestaña %Este texto está sangrado, precedido por una pestaña.

Sospecho que esta técnica también podría usarse con otros caracteres problemáticos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top