Pergunta

Como forçar o comando eco a produzir um caractere de guia no ms nmake makefile? As guias literalmente inseridas diretamente em uma string após o comando Echo são removidas pelo Nmake e não aparecem no arquivo de saída.

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

Solução

Você pode usar uma variável com ABA Caracteres. Coloque essas linhas no seu arquivo .bat:

Set TAB =Guia de traço char do seu teclado
eco a%tab%b> yourfile.txt

Fazendo isso, Yourfile.txt terá texto umABAb

Outras dicas

Como solução alternativa, você pode criar um arquivo que contém o caractere da guia, chamado input.txt (não usando o nmake) e depois dizer:

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

Presumo que você já tenha tentado colocar a guia dentro das citações?

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

DOS e Windows têm suporte de texto feio em arquivos em lote nativos :).

Aqui está uma boa maneira de executar sua tarefa:

  1. Instale o interpretador Python
  2. Escreva um script simples que anexa o personagem com código especificado para arquivar
  3. Ligue para o script onde quiser :)

Script simples:

'''
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 do arquivo em lote, você pode criar qualquer arquivo possível no universo :)

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

<TAB> Representa um personagem de guia literal aqui, é claro.

Eu tinha a mesma necessidade. Usei a resposta usando as citações ao redor do personagem e dei um passo adiante.

{tab} significa pressionar a tecla da guia do teclado no editor de texto.

Definir tab = "{tab}"

Guia Definir =%Guia: ~ 1,1%

A segunda linha extrai o caractere do meio da sequência citada.

Agora você pode usar a variável % da Tab % com o Echo e, suspeito, em qualquer outro lugar que seja necessário.

Eco %guia %Este texto é recuado, precedido por uma guia.

Eu suspeito que essa técnica também possa ser usada com outros personagens problemáticos.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top