【发布时间】:2014-01-26 18:32:41
【问题描述】:
动机
我有一个第 3 方,不知何故为某些特定功能编写了很长的 .bat 文件,并且需要相当大的努力来重新编写(我的问题也阻碍了这种努力)。在 for 循环中,最基本的调试方法似乎是在屏幕上回显一些信息。我曾经用其他语言中的\r (0x0D) 字符来执行此操作,这些字符在某些终端/控制台上重写了同一行(以避免溢出,因为在我的情况下,最后一行将包含错误)。我已经将值保存到变量中。但是,由于迭代可能需要很长时间,我仍然很乐意将一些输出写入不会溢出的屏幕。
我的尝试
- 我知道我可以用
echo.在cmd中回显一个换行符 - 但是我只需要回车 - 我已经尝试过这些,但它们没有用:
echo \r、echo ^r、echo \x0d、echo ^x0d、echo #0d、echo ^#0d、echo #x0d、echo ^x0d - 我已经尝试duck the net 寻求类似的东西,但没有太多帮助
问题
是否可以在 windows/dos/nt/cmd 批处理文件中以某种方式回显回车(或其他不可打印)字符?
ps。我使用的是 XP 或 7 cmd 处理器
【问题讨论】:
-
@Stephan 谢谢,使用stackoverflow.com/a/13941131/611007 似乎是可能的,尽管使用gnuwin32's coreutils 包:
echo blah | tr -d "\n":) 不太理想,但至少它有效!
标签: windows batch-file cmd carriage-return non-printing-characters