[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

学习批处理入门篇后的一点疑问

当执行下面的命令后 echo %time% &ping 127.0.0.1 >nul &echo %time% 为什么两次显示的时间都是一样的呢
而当:echo %time%
          ping 127.0.0.1 >nul
          echo %time%
后 两次显示的时间却是 不同的?请问这是什么原因呢
               谢谢指教

对 斑竹的讲解的理解:
当执行一个 要显示 变量 值的 命令时候 系统返还给你的是这个变量的在执行本条命令之前的值
例如说 set xcqkenl=xcqkenl00 &echo %xcqkenl% 则结果显示为%xcqkenl% 而非 xcqkenl00,(注:之前未对xcqkenl赋值)  当然当我们再次执行 set xcqkenl=xcqkenl00 &echo %xcqkenl%  显示结果为 xcqkenl00,但是我们不能误解是是第二条命令产生的 而是 我们第一次执行的命令产生的结果!
最后 总结就是说当我们执行一条命令时候 就算我们对一个变量赋值啦 但是系统依然 会给你取这个变量之前的值!

请问 斑竹 我的理解对不对
嘿嘿

TOP

对头 我是 直接在cmd中运行的

TOP

斑竹说 关于变量延迟 可以理解为 就是立即 刷新 变量的值 即斑竹说的 “即时”
很有意思

TOP

请问 batman 能不能讲下关于
二、可以用call来替代变量延迟的作用,大家可以在cmd中输入如下命令,再看结果
set "a=123"&echo %a%
set a=
set "a=456"&call,echo %a%

中call的运行机制呀

TOP

返回列表