中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 错在哪儿? 上一主题 | 下一主题
radem
高级用户

CMD感染者


积分 691
发帖 383
注册 2008-5-23
状态 离线
『楼 主』:  错在哪儿?

建了个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"才导入,但是现在只有直接回车才退出,输入任何键都会导入,究竟错在哪?



2008-6-24 12:46
查看资料  发短消息 网志   编辑帖子  回复  引用回复
hongewuyan
初级用户





积分 65
发帖 29
注册 2008-3-24
状态 离线
『第 2 楼』:  

if  /i “%cf%”=="y" goto :cip || goto :eof


这行 %cf%加引号看看,另外建议加/I不区分大小写。。。

2008-6-24 12:48
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
radem
高级用户

CMD感染者


积分 691
发帖 383
注册 2008-5-23
状态 离线
『第 3 楼』:  

谢谢!还是不行



2008-6-24 12:53
查看资料  发短消息 网志   编辑帖子  回复  引用回复
kgdetg1127
初级用户





积分 158
发帖 89
注册 2007-4-25
状态 离线
『第 4 楼』:  

if /I %cf%==y goto :cip
goto :eof

2008-6-24 13:18
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
kgdetg1127
初级用户





积分 158
发帖 89
注册 2007-4-25
状态 离线
『第 5 楼』:  

if not %cf%==y goto :eof ||goto :cip

2008-6-24 13:22
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
radem
高级用户

CMD感染者


积分 691
发帖 383
注册 2008-5-23
状态 离线
『第 6 楼』:  



  Quote:
Originally posted by kgdetg1127 at 2008-6-24 01:22 PM:
if not %cf%==y goto :eof ||goto :cip

无法跳转到cip
导入失败



2008-6-24 13:53
查看资料  发短消息 网志   编辑帖子  回复  引用回复
hongewuyan
初级用户





积分 65
发帖 29
注册 2008-3-24
状态 离线
『第 7 楼』:  

我想
if  /i “%cf%”=="y" goto :cip || goto :eof

这样的写法本身就有问题,无论输入正确与否,||后的goto :eof都不会得到执行。
建议那几行这样修改:

if /i "%cf%"=="y" goto :cip
goto :eof
:cip

这样当输入为Y时即跳转到clip,否则执行下一行自动跳转到eof

2008-6-24 15:05
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『第 8 楼』:  

if /i "%cf%" neq "y" goto :eof
echo.
echo 正在导入,请稍候...

   此帖被 +2 点积分    点击查看详情   
评分人:【 radem 分数: +2  时间:2008-6-25 13:02




批处理之家新域名:www.bathome.net
2008-6-24 15:10
查看资料  发送邮件  发短消息 网志  OICQ (841615149)  编辑帖子  回复  引用回复
wxcute
中级用户





积分 458
发帖 211
注册 2006-7-26
状态 离线
『第 9 楼』:  

if %cf%=="y" goto :cip || goto :eof
:cip

改成:
if %cf%=="y" goto :cip else goto :eof
:cip


if not "%cf%"=="y" goto :eof



┌───────┐
├→学习→实践→┤
└───────┘
2008-6-24 21:48
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
radem
高级用户

CMD感染者


积分 691
发帖 383
注册 2008-5-23
状态 离线
『第 10 楼』:  



  Quote:
Originally posted by zw19750516 at 2008-6-24 03:10 PM:
if /i "%cf%" neq "y" goto :eof
echo.
echo 正在导入,请稍候...

就是它!谢了



2008-6-25 18:46
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: