![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-06 23:48 |
共 48,040 主题排行 / 350,125 发帖 / 今日 1 篇 / 48,252 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 发现&的时间延迟性 |
| 可打印版本 841 / 4 |
| 第1楼 plp626 | 发表于 2007-12-23 07:39 |
| 银牌会员 发帖 1,020 积分 2,278 | |
|
发现&的时间延迟性 找一个多行(>50000行)的文本文件(假设文件名为test.txt),进入test.txt所在路径,然后命令提示符中输入:
echo 当前时间:%time%>t.txt&findstr /n "." test.txt&echo 当前时间:%time% >>t.txt 经过好一阵子,终于显示时间了,这两个时间竟然一样!为大家方便测试把测试代码也附上: @echo off&color a下面将 echo 当前时间:%time%>t.txt&findstr /n "." test.txt&echo 当前时间:%time% >>t.txt 分三行逐步实现,大家可以再测试以下,便可理解&对time的时间延迟性:@echo off&color a 产生这一现象的原因??? [ Last edited by plp626 on 2007-12-23 at 08:55 AM ] |
|
| 第2楼 jiulong | 发表于 2007-12-23 20:42 |
| 中级用户 发帖 183 积分 396 | |
|
应该是16行呀 每个字符以+1递增 怎么会成8万多行呢 有点想不明白
|
|
| 第3楼 lxmxn | 发表于 2007-12-23 22:24 |
| 版主 发帖 4,938 积分 11,386 | |
|
变量延迟的原因!
|
|
| 第4楼 chenall | 发表于 2007-12-23 23:31 |
| 银牌会员 发帖 469 积分 1,276 来自 福建泉州 | |
Originally posted by jiulong at 2007-12-23 08:42 PM: 你可以回头试下就知道了. 依次执行如下命令.看看结果,应该可以明白为什么了
回楼主, DOS命令在执行之前时就已经将%%里面替换掉了(一条一条执行的). 所以.以下命令,
执行结果两个时间是一样的.因为这只算是一条. 以下命令.
时间当然就不一样了. 因为执行第二句时,需要许多时间(如果这一句所需的时间很短则看不出效果). 到执行第三句时时间就是执行时间. 论坛里面之前就有介绍过. 通过以下例子或许可以明白
其中第一句设一个变量A=1 第二句, 显示A的值然后将A的值+1再显示A的值. 由于是同一个语句所以,值是一样的. echo.执行前:%a%&set/aa+=1 >nul&echo.结果:%a% 执行时是先将%a%替换成1然后再执行的 第三句.再显示A的值 |
|
| 第5楼 plp626 | 发表于 2007-12-24 19:28 |
| 银牌会员 发帖 1,020 积分 2,278 | |
|
楼上说的极是,很感谢。
我刚接触批处理,许多东西都是 “知其然,但不知其所以然”,这个论坛很好,学到了许多东西, |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |