Nmake - Как заставить команду Echo вывести символ вкладки?
-
18-09-2019 - |
Вопрос
Как заставить команду Echo вывести символ вкладки в MS Nmake Makefile? Вкладки Vorbatim, вставленные прямо в строку после того, как команда Echo удаляется Nmake и не отображаются в выходном файле.
all :
@echo I WANT TO OUTPUT THE <TAB> CHARACTER HERE! > output.txt
Решение
Вы можете использовать переменную с Вкладка девчонка Поместите эти строки в свой файл .bat:
Установить вкладка =Вкладка «Стало» из вашей клавиатуры
Echo a%tab%b> yourfile.txt
Это, у yourfile.txt будет текстTABбеременный
Другие советы
В качестве обходного пути вы можете создать файл, содержащий символ TAB, с именем input.txt (не используя nmake), а затем сказать:
all :
@copy /b input.txt output.txt
Я предполагаю, что вы уже пытались поместить вкладку в цитаты?
all:
@echo "<TAB>" > output.txt
DOS и Windows имеют некрасивую текстовую поддержку в собственных пакетных файлах :).
Вот хороший способ выполнить свою задачу:
- Установите интерпретатор Python
- Напишите простой скрипт, который добавляет символ с указанным кодом для файла
- Позвоните в скрипт, где бы вы ни хотите :)
Простой сценарий:
'''
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()
Используя этот скрипт из пакетного файла, вы можете создать любой возможный файл во вселенной :)
output.txt:
<<output.txt
I WANT TO OUTPUT THE <TAB> CHARACTER HERE!
<<KEEP
<TAB>
Конечно, представляет собой буквальный символ вкладки.
У меня была такая же потребность. Я использовал ответ, используя цитаты вокруг персонажа и просто сделал его на шаг вперед.
{Tab} означает нажатие клавиши вкладки клавиатуры в текстовом редакторе.
Set tab = "{вкладка}"
Установить вкладку =%вкладка: ~ 1,1%
Вторая строка извлекает средний символ из цитируемой строки.
Теперь вы можете использовать переменную % вкладок % с помощью Echo, и, я подозреваю, где бы то ни было.
Echo %Tab %Этот текст отступает, которому предшествует вкладка.
Я подозреваю, что эта техника также может быть использована и с другими проблемами.