我正在编写一个 Windows CMD 批处理文件,该文件(出于简化目的)应该回显该文件的每一行:
Flash
your
lights
on
and
off
问题是当它到达第 4 个和第 6 个单词时,它最终会运行
echo on
和 echo off
,它实际上并不回显文本,而只是将回显的状态设置为 ON 和 OFF。for /F %%a in (DataFile.txt) do echo %%a
结果输出是:
Flash
your
lights
and
有没有办法从字面上回显文本
on
和 off
?
最佳答案
根据 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/