![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-08 18:03 |
共 47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 求助!!想不到的奇异的结果 |
| 可打印版本 745 / 3 |
| 第1楼 tadonis | 发表于 2008-05-24 00:05 |
| 初级用户 发帖 10 积分 38 | |
|
求助!!想不到的奇异的结果 1.bat:
****************************** @echo off color f0 setlocal ENABLEDELAYEDEXPANSION for /l %%i in (1,1,13) do ( for /l %%j in (1,1,13) do ( call 2.bat %%i %%j ) ) ****************************************** 2.bat: ****************************************** @echo off color f0 setlocal ENABLEDELAYEDEXPANSION for /d %%k in (+,-,/) do ( set/a a=%1%%k%2&echo %1%%k%2=!a!>>jieguo.txt) set/a aa=%1*%2 echo %1*%2=%aa%>>jieguo.txt echo.>>jieguo.txt ******************************************************* jieguo.txt: ******************************************************* 1+1=2 1-1=0 1/1=1 1*1= 1+2=3 1-2=-1 1/2=0 1+3=4 1-3=-2 1/3=0 1+4=5 1-4=-3 1/4=0 1+5=6 1-5=-4 1/5=0 1+6=7 1-6=-5 1/6=0 1+7=8 1-7=-6 1/7=0 1+8=9 1-8=-7 1/8=0 1+9=10 1-9=-8 1/9=0 1+10=11 1-10=-9 1/10=0 1*10=10 1+11=12 1-11=-10 1/11=0 1*11=11 1+12=13 1-12=-11 1/12=0 1*12=12 ************************************************** 问题:为什么前面的1*1没结果和1*2,1*3是没有显示出来的??? 大侠们。帮帮忙阿,谢谢 |
|
| 第2楼 lxmxn | 发表于 2008-05-24 14:50 |
| 版主 发帖 4,938 积分 11,386 | |
TO tadonis:echo %1*%2=%aa%>>jieguo.txt 因为这一句中,%aa% 的结果有可能是1、2、3、……、9这些不小于10的整数。 在 CMD 中,如果这些整数出现在重定向符号(>、>>)的前面,那么它的作用就变成了指定重定向的文件句柄了。 其中 1 代表标准输出,这也是为什么1*1=1的结果显示为“1*1=”的原因了,因为最后一个1出现在>>符号的前面,它的含义已经发生了变化。 而 2 代表标准错误输出,这个时候1*2的时候结果显示为“1*2=2”,而这个2正好位于重定向符号的前面,所以代表的是标准错误输出句柄,也就是说 CMD 只把这个命令输出的错误结果才输出到 jieguo.txt 文件中,而正确的“1*2=2“反而没有输出到 jieguo.txt 文件中,这也是为什么1*2=2没有在 jieguo.txt 文件中存在的原因。 其实 3 到 9 没有出现在文件中,也是因为 3 到 9 是 CMD 保留的特殊的文件句柄的原因。 你可以搜索以前相关的讨论贴来了解文件句柄的含义和用法。 |
|
| 第3楼 netwinxp | 发表于 2008-05-24 15:27 |
| 高级用户 发帖 366 积分 741 | |
|
可以用"^"进行转义。
|
|
| 第4楼 tadonis | 发表于 2008-05-26 17:50 |
| 初级用户 发帖 10 积分 38 | |
|
谢谢啦
明白了 我在echo %1*%2=%aa%>>jieguo.txt 的%a%后面加了个空格就解决了 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |