![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-12 03:33 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » FOR语句内使用SET设置不正常。 |
| 可打印版本 788 / 4 |
| 第1楼 liaobiaoxing | 发表于 2009-07-10 16:55 |
| 新手上路 发帖 2 积分 2 | |
|
FOR语句内使用SET设置不正常。 比如我有一个1.txt里面已经有一系列的数字。目前我想任意取1.txt内的两个数字相加,让他如果等于某一个数的话就显示出等式来。比如说,我要的结果是20,1.txt中刚好有一个11,一个9,则会显示:20=11+9
我的语句是这样的。 FOR /F %%I IN (1.TXT) DO ( FOR /F %%J IN (1.TXT) DO ( SET C=%%I SET D=%%J SET /A SUM=%c%+%d% IF "%SUM%"=="%NUM%" ECHO %SUM%=%C%+%D% ) ) 可是SET语句好像没用了,希望大家教我下,我才学批处理没多久。 |
|
| 第2楼 defanive | 发表于 2009-07-11 02:38 |
| 初级用户 发帖 62 积分 111 | |
|
预处理问题,开启变量延迟或者使用call解决,具体方法请搜索论坛
|
|
| 第3楼 liaobiaoxing | 发表于 2009-07-11 06:00 |
| 新手上路 发帖 2 积分 2 | |
|
其实set /a已经赋值成功的,用SET命令也可以查得到SUM具体的值,可就是在IF语句中,显示不出来。不知道怎么办。
|
|
| 第4楼 czl1378 | 发表于 2009-07-11 11:19 |
| 初级用户 发帖 114 积分 161 | |
|
小D也来了?楼主,小D都说了,你搜索下变量延时,Setlocal,然后你就明白你循环内的%C%,%D%该改为!C!,!D!了
|
|
| 第5楼 Hanyeguxing | 发表于 2009-07-12 01:01 |
| 银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂 | |
Originally posted by liaobiaoxing at 2009-7-11 06:00: |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |