楼 主
(已解决)if 怎么没有起到比较的作用(55555在线等)
发表于 2007-04-28 11:43 · 中国 北京 联通(数字北京大厦IDC机房)
初级用户
★
积分 50
发帖 18
注册 2007-04-20 05:57
19年会员
UID 85810
性别 女
状态 离线
─────────────────── 版务记录 ────────────────────
执行人: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 楼
发表于 2007-04-28 12:05 · 中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
To zzfer:
变量延迟一般在if及for循环内部起作用,到了外面来了不需要!!来引用变量,用%%即可。
第 3 楼
发表于 2007-04-28 12:07 · 中国 广东 广州 电信
高级用户
★★★
潜水修练批处理
积分 788
发帖 366
注册 2006-12-31 02:43
19年会员
UID 75048
性别 男
状态 离线
set a=12321
echo %a%
echo %A%
pause
自己看看结果就知道了,另外你的代码根本不需要变量延迟,而且一开始就用了@echo off,后面的就不用@了
第 4 楼
这样还是不行呀
发表于 2007-04-28 12:26 · 中国 北京 联通(数字北京大厦IDC机房)
初级用户
★
积分 50
发帖 18
注册 2007-04-20 05:57
19年会员
UID 85810
性别 女
状态 离线
@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 楼
发表于 2007-04-28 12:34 · 中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
在变量里,set g=和set G=是一回事,而且for的%%g参数不能在for之外使用
第 6 楼
THANKS
发表于 2007-04-28 13:52 · 中国 北京 教育网
初级用户
★
积分 50
发帖 18
注册 2007-04-20 05:57
19年会员
UID 85810
性别 女
状态 离线
多谢大家,因为是初学者,提的问题有点。。。
不好意思,麻烦大家了
Thanks!
论坛跳转: