Question

Comment forcer commande echo à la sortie d'un caractère de tabulation dans le makefile de MS? Verbatim onglets insérés à droite dans une chaîne après la commande echo sont éliminés par nmake et ne se présentent pas dans le fichier de sortie.

all :
    @echo I WANT TO OUTPUT THE <TAB> CHARACTER HERE! > output.txt
Était-ce utile?

La solution

Vous pouvez utiliser une variable char. Mettez ces lignes dans votre fichier .bat:

onglet jeu = [coup TAB char de votre clavier]
un écho% à onglet% b> yourfile.txt

Ce faisant, yourfile.txt aura texte [TAB] b

Autres conseils

Pour contourner ce problème, vous pouvez créer un fichier contenant le caractère de tabulation, input.txt nommé (ne pas utiliser nmake), puis dire:

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

Je suppose que vous avez déjà essayé de mettre l'onglet entre guillemets?

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

DOS et Windows ont un support de texte laid dans des fichiers batch natifs:)

.

Voici belle façon de faire votre tâche:

  1. installer Python interpretator
  2. écriture simple script qui ajoute caractère avec le code spécifié dans le fichier
  3. script appel chaque fois que vous voulez:)

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()

en utilisant ce script à partir du fichier batch, vous pouvez créer un fichier possible dans l'univers:)

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

<TAB> représente un caractère de tabulation littérale ici bien sûr.

J'ai eu le même besoin. J'ai utilisé la réponse en utilisant les guillemets autour du caractère et juste pris un peu plus loin.

{onglet} signifie appuyer sur l'onglet clavier clé dans l'éditeur de texte.

onglet SET = "{tab}"

onglet SET =% tab: ~ 1,1%

La deuxième ligne extrait le caractère du milieu de la chaîne entre guillemets.

Maintenant, vous pouvez utiliser l'onglet% variable% avec ECHO et, je pense, nulle part ailleurs, il est nécessaire.

ECHO% onglet% Ce texte est en retrait, précédé d'un onglet.

Je soupçonne que cette technique pourrait être utilisée avec d'autres personnages de problème ainsi.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top