楼 主
错在哪儿?
发表于 2008-06-24 12:46 · 中国 广东 韶关 电信
高级用户
★★★
CMD感染者
积分 691
发帖 383
注册 2008-05-23 00:38
18年会员
UID 119451
性别 男
状态 离线
建了个CS服闹着玩,由于我的是动态IP,而添加SXE要修改IP参数,于是弄个P来完成:
@echo off
set /p lip=<lip.txt
del ips.asp 1>nul 2>&1
wget http://www.ip138.com/ips.asp 1>nul 2>&1
for /f "tokens=2 skip=2 delims=" %%i in ('find "您的IP地址是:" ips.asp') do set "ip=%%i"
del ips.asp 1>nul 2>&1
echo 上次导入IP是:%lip%
echo 现在公网IP是:%ip%
if %lip%==%ip% echo 两次相同!
set /p cf=需要将它导入吗?Y键确认,其他退出:
if %cf%=="y" goto :cip || goto :eof
:cip
echo.
echo 正在导入,请稍候...
U82GB.vbs "server.cfg"
for /f "delims=" %%j in (server.cfg) do (
echo.%%j | findstr/i "__sxei_internal_ip">nul && echo __sxei_internal_ip %ip%||echo %%j
)>>sv.tmp
move sv.tmp server.cfg
GB2U8.vbs "server.cfg"
echo.%ip%>lip.txt
cls&echo 已成功把%ip%导入!
pause
本想设计输入"Y"才导入,但是现在只有直接回车才退出,输入任何键都会导入,究竟错在哪?
第 2 楼
发表于 2008-06-24 12:48 · IANA 局域网IP(Private-Use)
初级用户
★
积分 65
发帖 29
注册 2008-03-24 12:17
18年会员
UID 113853
性别 男
状态 离线
if /i “%cf%”=="y" goto :cip || goto :eof
这行 %cf%加引号看看,另外建议加/I不区分大小写。。。
第 3 楼
发表于 2008-06-24 12:53 · 中国 广东 韶关 电信
高级用户
★★★
CMD感染者
积分 691
发帖 383
注册 2008-05-23 00:38
18年会员
UID 119451
性别 男
状态 离线
第 4 楼
发表于 2008-06-24 13:18 · 中国 浙江 温州 电信
初级用户
★★
积分 158
发帖 89
注册 2007-04-25 08:06
19年会员
UID 86402
性别 男
状态 离线
if /I %cf%==y goto :cip
goto :eof
第 5 楼
发表于 2008-06-24 13:22 · 中国 浙江 温州 电信
初级用户
★★
积分 158
发帖 89
注册 2007-04-25 08:06
19年会员
UID 86402
性别 男
状态 离线
if not %cf%==y goto :eof ||goto :cip
第 6 楼
发表于 2008-06-24 13:53 · 中国 广东 韶关 电信
高级用户
★★★
CMD感染者
积分 691
发帖 383
注册 2008-05-23 00:38
18年会员
UID 119451
性别 男
状态 离线
Originally posted by kgdetg1127 at 2008-6-24 01:22 PM:
if not %cf%==y goto :eof ||goto :cip
无法跳转到cip
导入失败
第 7 楼
发表于 2008-06-24 15:05 · IANA 局域网IP(Private-Use)
初级用户
★
积分 65
发帖 29
注册 2008-03-24 12:17
18年会员
UID 113853
性别 男
状态 离线
我想
if /i “%cf%”=="y" goto :cip || goto :eof
这样的写法本身就有问题,无论输入正确与否,||后的goto :eof都不会得到执行。
建议那几行这样修改:
if /i "%cf%"=="y" goto :cip
goto :eof
:cip
这样当输入为Y时即跳转到clip,否则执行下一行自动跳转到eof
第 8 楼
发表于 2008-06-24 15:10 · 中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
if /i "%cf%" neq "y" goto :eof
echo.
echo 正在导入,请稍候...
本帖最近评分记录
(共 1 条)
点击查看详情
| 评分人 | 分数 | 时间 |
| radem |
+2 |
2008-06-25 13:02 |
批处理之家新域名:www.bathome.net
第 9 楼
发表于 2008-06-24 21:48 · 中国 福建 三明 电信
中级用户
★★
积分 458
发帖 211
注册 2006-07-26 19:42
20年会员
UID 59307
状态 离线
if %cf%=="y" goto :cip || goto :eof
:cip
改成:
if %cf%=="y" goto :cip else goto :eof
:cip
或
if not "%cf%"=="y" goto :eof
┌───────┐
├→学习→实践→┤
└───────┘
第 10 楼
发表于 2008-06-25 18:46 · 中国 广东 韶关 电信
高级用户
★★★
CMD感染者
积分 691
发帖 383
注册 2008-05-23 00:38
18年会员
UID 119451
性别 男
状态 离线
Originally posted by zw19750516 at 2008-6-24 03:10 PM:
if /i "%cf%" neq "y" goto :eof
echo.
echo 正在导入,请稍候...
就是它!谢了

论坛跳转: