nmake - как заставить команду echo вывести символ табуляции? - PullRequest
2 голосов
/ 28 апреля 2009

Как заставить команду echo выводить символ табуляции в make-файле MS nmake? Дословные вкладки, вставленные прямо в строку после команды echo, удаляются nmake и не отображаются в выходном файле.

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

Ответы [ 6 ]

4 голосов
/ 16 февраля 2012

Вы можете использовать переменную с TAB char. Поместите эти строки в ваш файл .bat:

set tab = [ход клавиши TAB с клавиатуры]
Отобразить% tab% b> yourfile.txt

При этом в yourfile.txt будет текст a [TAB] b

0 голосов
/ 29 мая 2019

У меня была такая же потребность. Я использовал ответ, используя кавычки вокруг символа, и просто сделал еще один шаг вперед.

{tab} означает нажатие клавиши табуляции клавиатуры в текстовом редакторе.

SET tab = "{tab}"

вкладка SET = вкладка%: ~ 1,1%

Вторая строка извлекает средний символ из строки в кавычках.

Теперь вы можете использовать переменную% tab% с ECHO и, я подозреваю, где угодно, где это необходимо.

ECHO% tab% Этот текст имеет отступ, перед ним стоит табуляция.

Я подозреваю, что эту технику можно использовать и с другими проблемными персонажами.

0 голосов
/ 30 декабря 2010

DOS и Windows имеют некрасивую текстовую поддержку в собственных пакетных файлах:).

Вот хороший способ выполнить вашу задачу:

  1. установить интерпретатор Python
  2. написать простой скрипт, который добавляет символ с указанным кодом в файл
  3. вызовите скрипт, куда хотите:)

Простой скрипт:

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

используя этот скрипт из командного файла, вы можете создать любой возможный файл в юниверсе:)

0 голосов
/ 24 декабря 2010
output.txt:
    <<output.txt
I WANT TO OUTPUT THE <TAB> CHARACTER HERE!
<<KEEP

<TAB> представляет здесь буквальный символ табуляции.

0 голосов
/ 28 апреля 2009

Полагаю, вы уже пытались поместить вкладку в кавычки?

all:
    @echo "<TAB>" > output.txt
0 голосов
/ 28 апреля 2009

В качестве обходного пути вы можете создать файл, содержащий символ табуляции с именем input.txt (без использования nmake), а затем сказать:

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