2

如何强制 echo 命令在 MS nmake makefile 中输出制表符?在 echo 命令之后插入字符串的逐字制表符被 nmake 删除,并且不会显示在输出文件中。

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

6 回答 6

4

您可以使用带有TAB字符的变量。将此行放入您的 .bat 文件中:

set tab= [stroke TAB char from your keyboard]
echo a%tab%b>yourfile.txt

这样做,yourfile.txt 将包含文本 a [TAB] b

于 2012-02-16T01:49:57.720 回答
0

作为一种解决方法,您可以创建一个包含制表符的文件,命名为 input.txt(不使用 nmake),然后说:

all :
    @copy /b input.txt output.txt
于 2009-04-28T18:01:58.947 回答
0

我假设您已经尝试将标签放在引号内?

all:
    @echo "<TAB>" > output.txt
于 2009-04-28T18:50:20.110 回答
0
output.txt:
    <<output.txt
I WANT TO OUTPUT THE <TAB> CHARACTER HERE!
<<KEEP

<TAB>当然,这里代表文字制表符。

于 2010-12-24T13:24:49.680 回答
0

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

使用批处理文件中的此脚本,您可以在 Universe 中创建任何可能的文件 :)

于 2010-12-30T05:34:04.340 回答
0

我也有同样的需要。我使用字符周围的引号使用了答案,并且更进一步。

{tab} 表示在文本编辑器中按键盘 Tab 键。

设置标签 =“{标签}”

SET tab=%tab:~1,1%

第二行从引用的字符串中提取中间字符。

现在您可以将 %tab% 变量与 ECHO 一起使用,而且我怀疑它可以在其他任何需要的地方使用。

ECHO %tab%此文本是缩进的,前面有一个制表符。

我怀疑这种技术也可以与其他问题角色一起使用。

于 2019-05-28T21:43:23.973 回答