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