bat命令哪里错了 为啥一开始不是显示1 而是echo处于打开状态的?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bat命令哪里错了 为啥一开始不是显示1 而是echo处于打开状态的?相关的知识,希望对你有一定的参考价值。

set n=1 & (echo %n%) &pause
set /a n=%n%+1 & echo %n%
pause

结果

bat 运行的过程大概是读取下一行,然后无脑把%%之间的变量替换成对应的值,把结果显示出来,然后执行结果,所以程序是先把%n%替换成 n 的原值(空白),再依次执行set、echo、pause

echo不带参数(空格不作为参数)的时候就是显示“echo处于打开状态”或“echo处于关闭状态”
参考技术A setlocal enabledelayedexpansion
set n=1&(echo %n%)&pause
set/a n=%n%+1&echo %n%
pause

这样就OK了

追问

  为什么要开延缓环境变量?

追答

作用是读取一条完整的命令后,不立即对该变量赋值而会在某个单条命令执行前在赋值。

追问

  第一个使用两个感叹号 不是两个百分号
  应该是
  setlocal enabledelayedexpansion
  set n=1&(echo !n!)&pause
  set/a n=%n%+1&echo %n%
  pause
  不过还是谢谢你!!

本回答被提问者和网友采纳

为啥无法获取到div的高度

var x=document.getElementById("div1").style.display;alert(x)

显示结果既不是 undefine,也不是具体内容,而是空白一片

document.getElementById("div1").style.display;是获取div1的display
document.getElementById("div1").style.height;才是获取高度追问

写错了,不是获取高度,是获取是否显示的状态

追答

如果div1中没有设置display属性,或者属性没有赋值,就获取不了。

这样写着就可以获取到了

追问

是写在css里的

追答

必须按上面这样写

参考技术A js 放到div1出现以后,display属相最好定义为行内样式

以上是关于bat命令哪里错了 为啥一开始不是显示1 而是echo处于打开状态的?的主要内容,如果未能解决你的问题,请参考以下文章

麻烦bat命令高手们,帮我看看,下面这段代码到底哪里有问题,为啥运行的时候,总提示echo 处于关闭状态

为啥 QTextBrowser 中的文本不是一个一个显示,而是一次显示全部?

C++调用bat后,为啥运行完不出结果

bat隐藏后怎么呼出

bat.文件的命令语法, 句式或bat文件教程

为啥我在idea中第一次写bat文件我的idea没有提示我安装运行插件