在批处理脚本的开头,我看到了命令:
@echo %off
令我惊讶的是它具有相同的效果:
@echo off
'%'有什么影响?前缀?
答案 0 :(得分:34)
我以前从未见过它。它在cmd控制台中不起作用 - 仅在.bat脚本中。但我有一个猜测。
在cmd控制台窗口中,如果您@echo off
,则会导致命令提示被隐藏,就像在.bat脚本中一样。要再次显示提示,您必须echo on
。不同之处在于,在.bat脚本中,需要将百分号加倍以表示文字%
字符串字符,而在cmd控制台中则不需要。结果是cmd控制台中的@echo %off
导致字符串%off
回显到stdout。
考虑到这一点,我猜测作者希望这个hack能够避免将脚本复制到cmd控制台窗口的用户遇到的问题,而不是用于.bat脚本。添加%
后,命令在控制台中被中断,但在从.bat脚本运行时仍能达到预期的效果。如果没有%
,控制台似乎会在所有说明完成后挂起。