2、Q:我在几乎每段完整的批处理代码第一行都发现有 @echo off 这条语句,请问这是什么意思?可以不要吗?可以把它放到其他位置吗?
A:@echo off 的含义是:当批处理文件运行的时候,不在屏幕上显示每条语句;如果没有这条语句,那么,批处理文件中每一条将要执行到的语句,都会被显示在屏幕上。因为批处理在执行的时候,或多或少都会在屏幕上显示各种执行结果,如果去掉这条语句,那么,在默认情况下(没有重定向语句的时候),语句本身和执行结果都会显示在屏幕上,显示结果将十分混乱和繁杂,一般而言,这并不是我们需要的效果,这个时候,就需要在批处理文件的第一行写上 @echo off 这条语句;当然,@echo off 语句并不是必须的,在某些时候,我们并不需要它,比如,当我们调试代码的时候,一般都会去掉 @echo off 语句,再在适当的位置添加暂停命令pause,观察执行结果并定位出错位置;@echo off 语句可以放在任意位置,但是,只有在它之后的语句本身才不会显示在屏幕上。
3、Q:%var%中的百分号对是什么意思?!var!呢?
A:百分号对表示对变量值的引用,换句话说,%var% 在代码执行过程中,将会被变量var的具体值替换。假设 set var=abc,那么,%var% 就表示 abc 这个字符串;!var! 也是同样的含义,只不过,感叹号对是在启用了变量延迟之后才使用的。关于变量延迟的具体含义,请参考下一条。