标题: 错在哪儿?
[打印本页]
作者: radem
时间: 2008-6-24 12:46
标题: 错在哪儿?
建了个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"才导入,但是现在只有直接回车才退出,输入任何键都会导入,究竟错在哪?
作者: hongewuyan
时间: 2008-6-24 12:48
if /i “%cf%”=="y" goto :cip || goto :eof
这行 %cf%加引号看看,另外建议加/I不区分大小写。。。
作者: radem
时间: 2008-6-24 12:53
谢谢!还是不行
作者: kgdetg1127
时间: 2008-6-24 13:18
if /I %cf%==y goto :cip
goto :eof
作者: kgdetg1127
时间: 2008-6-24 13:22
if not %cf%==y goto :eof ||goto :cip
作者: radem
时间: 2008-6-24 13:53
Quote: |
Originally posted by kgdetg1127 at 2008-6-24 01:22 PM:
if not %cf%==y goto :eof ||goto :cip |
|
无法跳转到cip
导入失败
作者: hongewuyan
时间: 2008-6-24 15:05
我想
if /i “%cf%”=="y" goto :cip || goto :eof
这样的写法本身就有问题,无论输入正确与否,||后的goto :eof都不会得到执行。
建议那几行这样修改:
if /i "%cf%"=="y" goto :cip
goto :eof
:cip
这样当输入为Y时即跳转到clip,否则执行下一行自动跳转到eof
作者: bat-zw
时间: 2008-6-24 15:10
if /i "%cf%" neq "y" goto :eof
echo.
echo 正在导入,请稍候...
作者: wxcute
时间: 2008-6-24 21:48
if %cf%=="y" goto :cip || goto :eof
:cip
改成:
if %cf%=="y" goto :cip else goto :eof
:cip
或
if not "%cf%"=="y" goto :eof
作者: radem
时间: 2008-6-25 18:46
Quote: |
Originally posted by zw19750516 at 2008-6-24 03:10 PM:
if /i "%cf%" neq "y" goto :eof
echo.
echo 正在导入,请稍候... |
|
就是它!谢了
