【发布时间】:2009-04-28 17:31:38
【问题描述】:
如何强制 echo 命令在 MS nmake makefile 中输出制表符? 在 echo 命令之后直接插入到字符串中的逐字制表符被 nmake 删除,并且不会显示在输出文件中。
all :
@echo I WANT TO OUTPUT THE <TAB> CHARACTER HERE! > output.txt
【问题讨论】:
标签: echo nmake control-characters
如何强制 echo 命令在 MS nmake makefile 中输出制表符? 在 echo 命令之后直接插入到字符串中的逐字制表符被 nmake 删除,并且不会显示在输出文件中。
all :
@echo I WANT TO OUTPUT THE <TAB> CHARACTER HERE! > output.txt
【问题讨论】:
标签: echo nmake control-characters
您可以使用带有 TAB 字符的变量。将此行放入您的 .bat 文件中:
set tab=[敲击键盘上的 TAB 字符]
echo a%tab%b>yourfile.txt
这样做,yourfile.txt 将包含文本 a[TAB]b
【讨论】:
作为一种解决方法,您可以创建一个包含制表符的文件,命名为 input.txt(不使用 nmake),然后说:
all :
@copy /b input.txt output.txt
【讨论】:
我假设您已经尝试将标签放在引号内?
all:
@echo "<TAB>" > output.txt
【讨论】:
DOS 和 Windows 在本机批处理文件中支持丑陋的文本:)。
这是完成任务的好方法:
简单脚本:
'''
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()
使用批处理文件中的此脚本,您可以在 Universe 中创建任何可能的文件 :)
【讨论】:
output.txt:
<<output.txt
I WANT TO OUTPUT THE <TAB> CHARACTER HERE!
<<KEEP
<TAB> 当然在这里代表一个文字制表符。
【讨论】:
我也有同样的需要。我使用字符周围的引号使用了答案,并且更进一步。
{tab} 表示在文本编辑器中按下键盘的 tab 键。
SET tab="{tab}"
SET tab=%tab:~1,1%
第二行从引用的字符串中提取中间字符。
现在您可以将 %tab% 变量与 ECHO 一起使用,而且我怀疑它可以用于其他任何需要它的地方。
ECHO %tab%此文本是缩进的,前面有一个制表符。
我怀疑这种技术也可以用于其他问题角色。
【讨论】: