【问题标题】:How to write "<" in a text file using batch file and doesn't interpret it as command如何使用批处理文件在文本文件中写入“<”而不将其解释为命令
【发布时间】:2018-02-07 05:47:34
【问题描述】:

我正在尝试使用批处理文件在文本文件中创建和写入。我试图写的行如下,但我遇到了批处理解释的问题,我试图在此处写入文件,而实际上它是我想在文件中写入的行。

有人可以帮忙看看如何确保批处理命令忽略它并按原样写入文本文件。

该行是:

echo while () >>test.txt

所以,我想在括号内以及 txt 文件中打印这些“”,并且不希望批处理文件将其解释为命令。

非常感谢你们的帮助!

谢谢 希扬

【问题讨论】:

  • Windows 命令解释器的转义字符是^。因此,将^ 留给运算符以将其解释为文字字符。一个例外是百分号%。必须通过复制百分号来转义此字符,以将其解释为文字字符,而不是环境变量、循环变量或批处理文件参数引用的开始/结束。启用延迟扩展后,感叹号也必须用两个 ^ 转义,才能解释为文字字符。默认情况下不启用延迟扩展。
  • 它很有效。我已经尝试过几种方式来调整脚本。真的很感激!

标签: batch-file text batch-processing


【解决方案1】:

正如 Mofi 提到的,&lt; 是一个特殊字符,需要用 ^ 转义。


我建议阅读 thisthis 问题,因为它们是关于同一主题的。以下是我的问题中的一个示例,由 Mofi 回答。

FOR 循环涉及延迟扩展

for 循环元变量%%<i>n</i> 与其他变量完全不同。 FOR 循环元变量可以在每次循环运行时改变。

for %%G in ("|%%!<>()") do echo %%~G>file.ext

这会将|%!M&lt;() 回显到file.ext,注意百分比符号仍然需要加倍。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-21
    • 1970-01-01
    • 2014-06-24
    • 2011-04-08
    • 1970-01-01
    • 2019-05-21
    • 2021-09-18
    • 1970-01-01
    相关资源
    最近更新 更多