![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-04 09:04 |
共 48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » (已解决)if 怎么没有起到比较的作用(55555在线等) |
| 可打印版本 719 / 5 |
| 第1楼 zzfer | 发表于 2007-04-28 11:43 |
| 初级用户 发帖 18 积分 50 | |
|
(已解决)if 怎么没有起到比较的作用(55555在线等) ─────────────────── 版务记录 ──────────────────── 执行人:lxmxn 原标题:求助:if 怎么不起作用(55555在线等) 说明:因标题表述过于模糊,不便于论坛的搜索和管理,请在三日内修改标题。 提示:修改标题请在当前帖的右下脚点 编辑,修改完毕之后按 编辑帖子 即可。 处罚:因属论坛新人,暂时不予处罚;若三日之后尚未修改标题,将扣除2点积分, 以示惩罚,并由版主强制修改标题。请点击这里阅读论坛发帖规定或者查看 提问的智慧,以避免在今后的讨论中违规发帖。 ─────────────────── 版务记录 ──────────────────── 以下为程序: @echo off&setlocal enabledelayedexpansion for /f %%g in (1.txt) do ( set g=%%g ) @echo !g! for /f %%G in (2.txt) do ( set G=%%G ) @echo !G! if !g! EQU !G! @echo ok if !g! NEQ !G! @echo no 其中:1.txt里为 1 2.txt里为 2 为什么比较结果是ok??? [ Last edited by zzfer on 2007-4-28 at 01:10 AM ] |
|
| 第2楼 lxmxn | 发表于 2007-04-28 12:05 |
| 版主 发帖 4,938 积分 11,386 | |
|
To zzfer:
变量延迟一般在if及for循环内部起作用,到了外面来了不需要!!来引用变量,用%%即可。 |
|
| 第3楼 dikex | 发表于 2007-04-28 12:07 |
| 高级用户 发帖 366 积分 788 | |
|
set a=12321
echo %a% echo %A% pause 自己看看结果就知道了,另外你的代码根本不需要变量延迟,而且一开始就用了@echo off,后面的就不用@了 |
|
| 第4楼 zzfer | 发表于 2007-04-28 12:26 |
| 初级用户 发帖 18 积分 50 | |
|
这样还是不行呀 @echo off
for /f %%g in (1.txt) do ( set g=%%g ) echo %%g for /f %%G in (2.txt) do ( set G=%%G ) echo %%G if %%g EQU %%G @echo ok if %%g NEQ %%G @echo no |
|
| 第5楼 zh159 | 发表于 2007-04-28 12:34 |
| 金牌会员 发帖 1,467 积分 3,687 | |
|
在变量里,set g=和set G=是一回事,而且for的%%g参数不能在for之外使用
|
|
| 第6楼 zzfer | 发表于 2007-04-28 13:52 |
| 初级用户 发帖 18 积分 50 | |
|
THANKS 多谢大家,因为是初学者,提的问题有点。。。
不好意思,麻烦大家了 Thanks! |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |