windows – 为什么@ECHO ON / OFF不在批处理文件IF块中工作?
发布时间:2020-12-14 04:18:53 所属栏目:Windows 来源:网络整理
导读:@echo on和@echo off在批处理文件中的括号if块中执行时似乎没有任何影响.这是一个简单的演示: @echo offecho Test #1if 1 == 1 ( @echo on echo Test #2 @echo off echo Test #3)@echo onecho Test #4 在命令行上运行上面的输出是: Test #1 Test #2 Test #
@echo on和@echo off在批处理文件中的括号if块中执行时似乎没有任何影响.这是一个简单的演示:
@echo off echo Test #1 if 1 == 1 ( @echo on echo Test #2 @echo off echo Test #3 ) @echo on echo Test #4 在命令行上运行上面的输出是:
任何人都可以解释这个和/或建议一个解决方法吗? (期望它可能通过大量使用goto和标签来修复,但如果可能的话,我更愿意继续使用括号中的块…)
正如您所发现的那样,解析器无法识别更改的ECHO状态,直到它到达包含ECHO ON / OFF的代码块之后的语句.
但是有一个例外 – 在FOR … DO之后的命令确实在同一个块内进行状态更改:-) 请注意,当ECHO当前为ON时,您只需要@来抑制命令输出.如果它是OFF,那么就不需要@ECHO ON.如果你在同一个代码块中打开和关闭它,那么你也不需要它. 这是一个回归偶数测试线的演示: @echo off echo Test #1 ( echo on for %%. in (.) do echo Test #2 echo off echo Test #3 echo on for %%. in (.) do echo Test #4 echo off echo Test #5 ) echo on echo Test #6 @echo off echo Test #7 – 输出 – Test #1 C:test>echo Test #2 Test #2 Test #3 C:test>echo Test #4 Test #4 Test #5 C:test>echo Test #6 Test #6 Test #7 您可能会发现声明一个简单的echo_on“宏”很方便.以下产生完全相同的输出: @echo off setlocal set "echo_on=echo on&for %%. in (.) do" echo Test #1 ( %echo_on% echo Test #2 echo off echo Test #3 %echo_on% echo Test #4 echo off echo Test #5 ) echo on echo Test #6 @echo off echo Test #7 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 在win10环境下搭建 solr 开发环境
- xaml – CollectionViewSource“值不在预期范围内.”
- windows-7 – 如何使端口80可用?在Windows 7上安装xampp 1
- windows-server-2008 – 我可以从Linux节点在Windows DHCP服
- 是否有可能在Windows Azure中拥有Git仓库?
- Serv-u本地权限提升漏洞的终极防御
- 访问被拒绝在Windows 7上用于管理员帐户
- windows – Django Apache/mod_python管理CSS不显示管理表
- windows-server-2008-r2 – 如何在共享驱动器上自动删除/ t
- 原装Win8系统换win7系统(图文教程)
推荐文章
站长推荐
- windows-server-2008 – 使用内部更改监视器/ MO
- group-policy – 通过GPP部署打印机时,驱动程序安
- vbscript – 在Windows上使用VBS处理MS Word
- 从弹出菜单win32 api Python中选择项目
- windows – 让git bash在当前的存储库中启动
- 有没有办法在Windows下使用java.util.Preference
- R中的主/从多核处理
- windows-server-2016 – 有没有办法阻止Storage
- 在Microsoft Orleans中检查GUID是否存在颗粒
- Windows Filtering Platform用户模式或内核模式?
热点阅读