batch-file - 从字面上回显文本 "on"

标签 batch-file cmd escaping

我正在编写一个 Windows CMD 批处理文件,该文件(出于简化目的)应该回显该文件的每一行:

Flash
your
lights
on 
and
off

问题是当它到达第 4 个和第 6 个单词时,它最终会运行 echo onecho off ,它实际上并不回显文本,而只是将回显的状态设置为 ON 和 OFF。
for /F %%a in (DataFile.txt) do echo %%a

结果输出是:
Flash
your
lights
and

有没有办法从字面上回显文本 onoff ?

最佳答案

根据 this post on DosTips.com ,回显任何文本的唯一安全方法是使用奇怪的语法 echo( .所以对于你的命令行:

for /F %%a in (DataFile.txt) do echo(%%a

有语法 echo.常用,但如果存在名为 echo. 的文件,则此操作失败。 (无扩展名)在当前工作目录中。
语法 echo/如果您尝试回显以问号开头的字符串,有时使用会失败(因为 / 后跟 ? 被解释为 /? 开关以显示命令的帮助文本)。

关于batch-file - 从字面上回显文本 "on",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39577901/

相关文章:

nhibernate - 为什么 NHibernate 的 adonet.batch_size 设置被忽略 - session.SetBachSize() 抛出异常?

javascript - Node.js 生成 : Keep StdOut and StdErr in the original order

java - 打开终端/提示符并传递命令 (ping)

regex - 如何在 Pug (Jade) 模板中使用 HTML5 pattern 属性

php - 转义数组值中的引号或特殊字符

python - SublimeText2 插件设置 : Escape Dollar sign for a regex in DocBlockr plugin's settings

Windows 命令行和批处理文件 : potential problems with unescaped special characters in filenames?

batch-file - 如何从命令行 check out 文件并在必要时显示 UCM 新事件 GUI

java - 用于远程启动服务的 CMD 命令不在代码中运行,而是在 CMD 上运行

cmd - “makecert”在命令提示符中未被识别为内部或外部命令